我有这个表篮子TEXT这个Notes字段没有文本字段,为了简单起见,在下面的例子中,我在单词之间使用了一个空格,它可以有逗号、冒号或任何标点符号。我正在为给定的三个水果列表搜索Notes字段中找到的第一个水果:苹果、橙子、香蕉—此搜索条件列表是固定的。
Notes | 香蕉;苹果、面包。燕麦片!牛奶 |
---|
橘子,苹果,,。香蕉: |
面包"燕麦&牛奶" |
Apple,;Sugar:Banana,Orange. |
您可以使用regexp_match()
select notes,
(regexp_match(notes, '(?i)(apple|banana|orange)'))[1] as first_fruit
from basket;
regexp_match()
按找到的顺序返回所有匹配项的数组。然后[1]
选择第一个数组元素。我通过指定(?i)
使用了不区分大小写的匹配。如果您不希望这样,请删除(?i)
并指定您希望找到的搜索词。
在线例子