SQL使用喜欢在较短的where表达式中搜索单词?

时间:2014-06-29 15:26:12

标签: sql regex oracle sql-like

在练习ORACLE SQL查询时,我偶然发现了一个简单的问题,即返回名称中包含某些单词的记录,如“杰克逊”。

我使用了where子句:

    where NAME like 'Jackson %' and NAME like '% Jackson %';

有更简单或更短的方法吗?

很抱歉这个令人困惑的标题和这个菜鸟问题。随意改变。谢谢。

RECORD:

  • Micheal Jackson
  • Jackson Jack
  • Mojo Smith-Jackson Jill
  • Milo Jackson Chen

结果:

  • Micheal Jackson
  • Jackson Jack
  • Milo Jackson Chen

1 个答案:

答案 0 :(得分:1)

您可以这样做:

where NAME like '%Jackson %'

%通配符根本不匹配任何字符。

如果你想在字符串中的任何地方找到“杰克逊”这个词(所以它不匹配,比如“史密斯杰克逊”),那么就做:

where ' '||NAME||' ' like '% Jackson %'