我有一条SQL语句:
Insert into Table1 values ('字段1')
其中字段1为:m'n
字段1为字符串,并且含有单引号。
如果直接执行上面的SQL语句,会报错,因为括起字段1的单引号会与字段1内部的单引号混淆。
问题:如何将该字符串正确地写入数据库,使得别人读取数据库时能够正确的读出m'n
Insert into Table1 values ('字段1')
其中字段1为:m'n
字段1为字符串,并且含有单引号。
如果直接执行上面的SQL语句,会报错,因为括起字段1的单引号会与字段1内部的单引号混淆。
问题:如何将该字符串正确地写入数据库,使得别人读取数据库时能够正确的读出m'n
Insert into Table1 values ('m''n') ;
Insert into Table1 values ('m''n') ;
或者:
Insert into Table1 values ('m'||chr(39)||'n') ;
SQL> select ascii(','), ascii('/') from dual;ASCII(',') ASCII('/')
---------- ----------
44 47SQL> select chr(44), chr(47) from dual;CHR(44) CHR(47)
------- -------
, /
如果有什么特殊字符不记得"编号"了,就用ascii函数select一下. 除了用ascii查单引号,因为... :SQL> select ascii(''') from dual;
2 /select ascii(''') from dual;ORA-01756: 括号内的字符串没有正确结束Good luck!
Insert into Table1 values ('m\'n') ;
union all
select 'm' || '''' || 'n' from dual
这两个是可以的我知道
但这个我试了下怎么报错谁能告诉我?
SQL> select 'm\'n' from dual;
ERROR:
ORA-01756: 括号内的字符串没有正确结束
SQL> select 'm' || '\'' || 'n' from dual;
ERROR:
ORA-01756: 括号内的字符串没有正确结束
ERROR:
ORA-01756: 括号内的字符串没有正确结束
SQL> select 'm' || '\'' || 'n' from dual;
ERROR:
ORA-01756: 括号内的字符串没有正确结束
-______________________________这里的''没有成对,系统不识别!
select 'M'||''''||'N' from dual;RESULT:1 M'N