如何在oracle中插入包含引号的字符串? 我的代码是
INSERT INTO TIZ_VADF_TL_MODELS (name)
VALUES ('xxx'test'yy');
如果我使用
INSERT INTO TIZ_VADF_TL_MODELS (name)
VALUES ("xxx'test'yy");
我得到标识符太长错误,因为xxx'test'yy是clob。
我该怎么做?
THX。
答案 0 :(得分:12)
您还可以使用'alternative quoting mechanism' syntax:
INSERT INTO TIZ_VADF_TL_MODELS (name)
VALUES (q'[xxx'test'yy]');
第一组引号内的一对字符,在这种情况下为[]
,用于分隔引用的文本;其中的单引号不必转义。当然,你不能在字符串本身中拥有]'
,但你可以选择自己的分隔符,这样如果它成为一个问题就可以避免; ]
本身仍然可以。
这可能比确保单引号被转义更简单,这可能会有点混乱,或者至少难以阅读和调试。
答案 1 :(得分:8)
尝试转义引号:
'xxx''test''yy'
在SQL引号中可以通过在它们之前添加另一个引号进行转义。
答案 2 :(得分:0)
使用单引号两次,而不是一次双引号。 例如:
<http pattern="/rest/**" security="none"></http>