如何在Oracle中转义单引号?

时间:2015-03-06 19:38:59

标签: sql oracle

我有一个列,其中包含存储为文本字符串的某些表达式,其中包含单个数字,例如“错过的交易”和#39; (包括引文)

如何使用带有这种情况的where子句?

select * from table where reason = ''missed transaction''

不起作用,我无法使用替换功能,因为它的语法也需要单引号。我知道,模糊的问题。但感谢您的帮助。

2 个答案:

答案 0 :(得分:11)

你需要通过加倍'来逃避它们:

select * from table where reason = '''missed transaction''';

答案 1 :(得分:6)

q引用语法使这种事情变得更容易:

select * from table where reason = q'['missed transaction']'

'[]'之间的所有内容都按字面解释,因此无需将所有引号加倍,无论多少引号都可以。