oracle 如何查找所有包含一个单词的条目?

jtjikinw  于 2023-06-29  发布在  Oracle
关注(0)|答案(1)|浏览(114)

我正在使用Toad for Oracle,并且有一个名为CO_EXCEPT_TEXT_LG的表。该表类似于下表:
| 行动| Action |
| - -----| ------------ |
| 解锁阶段| UNLOCK PHASE |
| 解锁阶段| UNLOCKED PHASE |
| 解锁| UNLOCK |
| 解锁阶段| To UNLOCK PHASE |
我正在尝试拉所有的条目,有一个词'解锁'作为一个完整的词只。(在这种情况下,这将是条目1、3和4。)
到目前为止,我已经尝试了以下方法:

  1. WHERE ACTION = 'UNLOCK':给出条目3
  2. WHERE ACTION LIKE 'UNLOCK':给出条目3
    (我认为没有通配符的LIKE本质上类似于'='。如果我错了就纠正我!)
  3. WHERE ACTION LIKE '%UNLOCK%':给出条目1、2、3、4
  4. WHERE ACTION LIKE 'UNLOCK%':给出条目1、2、3
zte4gxcn

zte4gxcn1#

假设你想要的单词边界是空格,这里有一种使用like的方法:

where ' ' || action || ' ' like '% UNLOCK %'

我们也可以使用regex:

where regexp_like (action, '(^|\s)UNLOCK(\s|$)')

...其中^|\s表示:字符串的开头(^)或空格(\s)-而$表示字符串的结尾。

相关问题