【发布时间】:2018-08-14 04:42:57
【问题描述】:
我需要找到以下记录
O'GRAD
我想用 LIKE
LIKE 'O'GRAD'
但是我遇到了撇号的问题。 最好的解决方法是什么?
【问题讨论】:
-
为什么 LIKE 没有通配符?只需做
= 'O''GRAD'
我需要找到以下记录
O'GRAD
我想用 LIKE
LIKE 'O'GRAD'
但是我遇到了撇号的问题。 最好的解决方法是什么?
【问题讨论】:
= 'O''GRAD'
把撇号加倍
LIKE 'O''GRAD'
或使用 Q 语法
LIKE q'{O'GRAD}'
【讨论】:
如果您的 Oracle DB 版本是 10g 或 upper,您可以使用:
select *
from mytable t
where t.col1 like '%'||q'$O'GRAD$'||'%';
/
或者经典地在现有报价中添加额外的报价
select *
from mytable t
where like '%'||'O''GRAD'||'%';
/
克服单引号问题。
【讨论】: