Redshift-过滤掉行中没有逗号的值

时间:2018-08-29 08:46:43

标签: sql amazon-redshift

我有一列带有逗号(,)的值。我正在尝试筛选出没有逗号的行。

下面是我的数据集的示例视图

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。

2 个答案:

答案 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;