我的pgsql DB中有文本字段,其中包含用户标识符。一个字段可以包含一个或多个由#分隔的ID。关于保存数字是使用PHP内爆的,所以我可以举例如:
Row 1: 3#36#66#33
Row 2: 5#56#33#55.
如何准备SQL查询以选择具有一个或多个id的字段而没有任何歧义?
示例:
SELECT product FROM cms_product WHERE product_mod LIKE '3'
可以选择我不想要的第1行和第2行。我怎么解决它?
修改
我必须在此字段中选择包含用户ID的所有行,例如:
UserId: 3
Field 1:
55#64#333#2
Field 2:
12#3#55#6423
Field 3;
654#33#11#98
只应选择字段2.
答案 0 :(得分:1)
虽然您应该真的工作以规范您的数据库,但这是已发布问题的答案
select product
from cms_product
where '3' = any(regexp_split_to_array(product_mod, '#'))