如何编写包含 & 字符的插入语句?例如,如果我想将“J&J Construction”插入数据库的列中。
我不确定这是否有什么不同,但我正在使用 Oracle 9i。
我总是忘记这一点,然后又回到它!我认为最好的答案是迄今为止提供的答复的组合。
首先,&是sqlplus/sqldeveloper中的变量前缀,因此问题是——当它出现时,它应该是变量名的一部分。
SET DEFINE OFF 将停止 sqlplus 解释&这样。
但是如果你需要使用 sqlplus 变量怎么办and文字和字符?
- 您需要 SET DEFINE ON 才能使变量起作用
- 并设置 ESCAPE ON 来转义 & 的使用。
e.g.
set define on
set escape on
define myvar=/forth
select 'back\\ \& &myvar' as swing from dual;
生产:
old 1: select 'back\\ \& &myvar' from dual
new 1: select 'back\ & /forth' from dual
SWING
--------------
back\ & /forth
如果您想使用不同的转义字符:
set define on
set escape '#'
define myvar=/forth
select 'back\ #& &myvar' as swing from dual;
当您设置特定转义字符时,您可能会看到“SP2-0272:转义字符不能是字母数字或空格”。这可能意味着您已经定义了转义字符,并且事情变得可怕的自我引用。避免这个问题的最干净的方法是首先关闭 escape:
set escape off
set escape '#'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)