【问题标题】:Finding a record with apostrophe using LIKE [duplicate]使用 LIKE 查找带撇号的记录 [重复]
【发布时间】:2018-08-14 04:42:57
【问题描述】:

我需要找到以下记录

O'GRAD

我想用 LIKE

LIKE 'O'GRAD'

但是我遇到了撇号的问题。 最好的解决方法是什么?

【问题讨论】:

  • 为什么 LIKE 没有通配符?只需做= 'O''GRAD'

标签: sql oracle


【解决方案1】:

把撇号加倍

LIKE 'O''GRAD'

或使用 Q 语法

LIKE q'{O'GRAD}'

【讨论】:

    【解决方案2】:

    如果您的 Oracle DB 版本是 10gupper,您可以使用:

    select * 
      from mytable t
     where t.col1 like '%'||q'$O'GRAD$'||'%';
    /
    

    或者经典地在现有报价中添加额外的报价

    select * 
      from mytable t
     where like '%'||'O''GRAD'||'%';
    /
    

    克服单引号问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 2015-09-14
      • 1970-01-01
      • 2012-08-22
      • 2018-10-31
      • 1970-01-01
      • 2019-09-24
      相关资源
      最近更新 更多