Postgresql Postgres SQL搜索第一个出现的字符串

Postgresql Postgres SQL搜索第一个出现的字符串,postgresql,Postgresql,我有一个表篮和一个文本类型列,这个注释字段没有文本字段,为了简单起见,我在下面的示例中在单词之间使用了一个空格,它可以有逗号或冒号或任何标点符号。 我正在为给定的三种水果列表搜索Notes字段中找到的第一种水果:苹果、橘子、香蕉-此搜索条件列表是固定的 笔记 香蕉;苹果,面包。燕麦!牛奶 橙色,苹果;,。香蕉: 面包、燕麦和牛奶 苹果;糖:香蕉,橘子。 您可以使用regexp\u match() select notes, (regexp_match(notes, '(?i)(a

我有一个表和一个文本类型列,这个注释字段没有文本字段,为了简单起见,我在下面的示例中在单词之间使用了一个空格,它可以有逗号或冒号或任何标点符号。 我正在为给定的三种水果列表搜索Notes字段中找到的第一种水果:苹果、橘子、香蕉-此搜索条件列表是固定的

笔记 香蕉;苹果,面包。燕麦!牛奶 橙色,苹果;,。香蕉: 面包、燕麦和牛奶 苹果;糖:香蕉,橘子。
您可以使用
regexp\u match()

select notes, 
       (regexp_match(notes, '(?i)(apple|banana|orange)'))[1] as first_fruit
from basket;       
regexp\u match()
按查找顺序返回所有匹配项的数组<代码>[1]
然后拾取第一个数组元素。我通过指定
(?I)
使用了不区分大小写的匹配。如果您不希望这样做,请删除
(?i)
,并指定您希望找到的搜索词


xyzAppleabc是否与“Apple”匹配?是的,它应该返回Apple。这对我的情况非常有效,我必须学习更多关于正则表达式的知识,它们在字符串搜索方面非常强大。