oracle中sql拼接的单引号问题

/*A.首尾单引号为字符串识别标识,不做转译用*/
select ''||to_char('CRUDBOY')||'' from dual;--CRUDBOY
/*B.首尾单引号里面如果出现的单引号,并且有多个,则相连两个单引号转译为一个字符串单引号*/
select '''' || to_char('CRUDBOY') || '''' from dual;--'CRUDBOY'
select '''''' || to_char('CRUDBOY') || '''''' from dual;--''CRUDBOY''
select '''''''' || to_char('CRUDBOY') || '''''''' from dual;--'''CRUDBOY'''
/*C.单引号一定成对出现,否者这个字符串出错,因为字符串不知道哪个单引号负责结束*/
select ' '' ' ||' ' || ' '' ' || to_char('CRUDBOY')||' '' ' ||' ' || ' '' '  from dual;-- '   ' CRUDBOY ' ' 
select ' '' ' ||' ' || ' '' ' || to_char('CRUDBOY') from dual;-- '   ' CRUDBOY
/*''';'同时满足A.B*/
select ' '' ' ||' ' || ' '' ' || to_char('CRUDBOY')||''';' from dual;-- '   ' CRUDBOY';

oracle语句拼接应该记住的三点,同时应该灵活运用/*''';'同时满足A.B*/ select ' '' ' ||' ' || ' '' ' || to_char('CRUDBOY')||''';' from dual;-- ' ' CRUDBOY';转译与标识的完美结合,二者同时存在。
写在最后
纸上得来终觉浅,绝知此事要躬行

你可能感兴趣的:(数据库)