我有一列带有逗号(,)的值。我正在尝试筛选出没有逗号的行。
下面是我的数据集的示例视图
id,name,product_list
1,kevin,prod_a
2,scott,prod_b,prod_c
3,tim,prod_a
4,julie,prod_a,prod_e
我希望SQL仅返回id(1,3),因为它们在 product_list 列中没有逗号。谁能帮我过滤上述数据集。
我正在使用Redshift DB。
答案 0 :(得分:5)
您可以使用类似运算符
select * from table1 where product_list NOT LIKE '%,%'
http://sqlfiddle.com/#!9/a081d/1
id name productlist
1 kevin prod_a
3 tim prod_a
答案 1 :(得分:1)
多种方法可以实现,一种已经被建议,然后另一种可能是:
select * from test where len(product_list)-len(REPLACE(product_list,',',''))<1;