在JAVA中, 如何将&符号插入到oracle数据表中, 请给出在JAVA中执行的SQL语句

&在oracle中是一个特殊符号,不能直接插入到表中,如下面的语句只能插入进A,&P是插入不进去的
insert INTO table1(CODE, NAME)
VALUES('ZZ', 'A&P')
可以改写成
insert into table1(code, name)
values('ZZ', 'A&' || 'P')
这样是可以的, 但关键是在JAVA中应该如何写出来呢?

第1个回答  2012-08-29
只是因为在oracle中&是替换变量的意思,你再试试,如果你换成values('ZZ','&A'||'P'),一定不行,是不是?
&后面是',那就没关系,oracle认为它是个字符,如果是有其他字符,oracle就认为&后面的字符是替换变量 ,

可以这么干,产生字符串的时候,判断有没有&,有&的话,切割,加||追问

一直没有解决, 碰到这个问题有一段时间了, 如果只是在存储过程中写, 也不难, 但关键插入数据的过程是在JAVA中实现的, 而在JAVA中无论怎么写, 最终传到数据库中的就是一个字符串, 加入||, chr(38)后, 加入的内容会变成串的一部分了

追答

是啊,加&,只能作为一个字符串啊,不能作为字符的

本回答被网友采纳
第2个回答  2012-08-29
没这么麻烦,这个其实很简单, 使用转义符就可以了
insert INTO table1(CODE, NAME)
VALUES('ZZ', 'A&&P');

你试下,不行再发消息给我本回答被提问者采纳
相似回答