我在值字段中有以下数据。
Sample data
-------------------
cid value
--------------------
1 'This is test message for *NAME_FIRST* <br />*NAME_LAST*<br />We should strict to rules for inspections.<br /><br />Thanks,
2 'Hello *NAME_FIRST* <br />*NAME_LAST*<br />Hope you are doing good.<br /><br />Thanks,'
我想查找所有具有 NAME_FIRST 或 NAME_LAST 模式的数据。我写了以下选择查询,但是出了点问题,我无法获得结果。
SELECT * FROM template_custom_texts tct WHERE tct.cid = 1 AND tct.value = E'\\*(NAME_FIRST|NAME_LAST)\\*';
我也使用了另一种方法:
SELECT * FROM template_custom_texts tct WHERE tct.cid = 1 AND regexp_matches(tct.value, '(NAME_FIRST|NAME_LAST)', 'g');
在两个查询结果中均未到达。
答案 0 :(得分:0)
尝试以下查询:
SELECT *
FROM template_custom_texts
WHERE cid = 1 AND value ~ 'NAME_FIRST|NAME_LAST';
请记住,此查询区分大小写,您可以将~
替换为~*
,以区分大小写。
也请阅读PostgreSQL模式匹配的文档:https://www.postgresql.org/docs/9.3/functions-matching.html。