插入包含oracle中引号的字符串

时间:2014-02-16 16:13:42

标签: sql string oracle sql-insert clob

如何在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。

3 个答案:

答案 0 :(得分:12)

您还可以使用'alternative quoting mechanism' syntax

INSERT INTO TIZ_VADF_TL_MODELS (name)
VALUES (q'[xxx'test'yy]');

第一组引号内的一对字符,在这种情况下为[],用于分隔引用的文本;其中的单引号不必转义。当然,你不能在字符串本身中拥有]',但你可以选择自己的分隔符,这样如果它成为一个问题就可以避免; ]本身仍然可以。

这可能比确保单引号被转义更简单,这可能会有点混乱,或者至少难以阅读和调试。

SQL Fiddle

答案 1 :(得分:8)

尝试转义引号:

'xxx''test''yy'

在SQL引号中可以通过在它们之前添加另一个引号进行转义。

答案 2 :(得分:0)

使用单引号两次,而不是一次双引号。 例如:

<http pattern="/rest/**" security="none"></http>