||的妙用,字符串和变量列名之间都得用||分隔,oracle等数据库两个单引号输出一个单引号,因为如果只写了一个'的话 他会和最近的单引号被数据库认为是组成了一个空字符串,因此需要用两个单引号来表示这是个单引号
查询列间用,分隔:
select empno||','||ename from emp;
||用于拼接语句,下面是写的每一步思路,可以沿用于其他的拼接:
select '' from emp;/*输出一个空的字符串*/

select 'select * from emp where ename=' from emp;/*输出固定的字符串*/

select 'select * from emp where ename='||ename from emp;/*将固定的字符串和变量拼接*/

select 'select * from emp where ename='''||ename from emp;/*周所周知,oracle等数据库两个单引号输出一个单引号,因此这里再||前加了''*/

select 'select * from emp where ename='''||ename||'' from emp;/*还差右半边的单引号,先在变量右边加||,然后再||右边加'',这里的''表示拼了空字符*/

select 'select * from emp where ename='''||ename||''';' from emp;/*然后再在最后面的空字符里面加一个单引号,也就是'',顺便加个;*/
