我的数据库中有一个字段,它有一长串用逗号分隔的字符串。下面是一些行示例:
HAB
DHAB,RAB,DAB
HAB,RAB,DAB
RAB,HAB,
RAB,HAB,DAB
我的查询有以下条件:
WHERE description LIKE '%HAB%'
但它返回的第二行有“DHAB”。
是否可以使用带有
WHERE
语句的regex来完成,这样我只得到列表中有'HAB'的条目(一个字符串),而没有'DHAB'的条目? 最佳答案
你可以用
WHERE description ~ '(^|,)HAB($|,)'
正则表达式匹配
(^|,)
-字符串开始或a,
HAB
-文字子字符串($|,)
-字符串结束或,
请参见online regex demo。
关于sql - 简单的正则表达式过滤掉前置和后缀字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53287634/