我想修改这样的表:
ID List FLG1 FLG2
1 000, 111, 123 0 0
2 000, 241, 123 0 0
3 888, 187, 111 0 0
4 424, 000, 123 0 0
5 384, 234, 111 0 0
如果List包含子字符串'000',则将FLG1设置为1 如果List包含子串'111',则将FLG2设置为1
因此,在模仿之后,它应该是这样的:
ID | List | FLG1 | FLG2
1 000, 111, 123 1 1
2 000, 241, 123 1 0
3 888, 187, 111 0 1
4 424, 000, 123 1 0
5 384, 234, 111 0 1
请帮助我。谢谢。
答案 0 :(得分:1)
你可以利用POSITION,但我更喜欢LIKE:
CASE WHEN list LIKE '%000%' THEN 1 ELSE 0 end
假设数据只是一个示例,并且列表中的项目可能有不同的长度,当有888, 180007, 111
之类的列表时,他会导致误报,所以你可能会做得更好
CASE WHEN ', ' || list || ',' LIKE '%, 000,%' THEN 1 ELSE 0 END
同样,如果逗号后面的空格丢失,这可能会失败。