SQL在哪里和类似的内爆字符串

时间:2013-07-29 07:25:50

标签: sql postgresql implode

我的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.

1 个答案:

答案 0 :(得分:1)

虽然您应该真的工作以规范您的数据库,但这是已发布问题的答案

select product
from cms_product
where '3' = any(regexp_split_to_array(product_mod, '#'))