我有一个以CSV值作为列的表。我希望在where子句中使用该列来比较是否存在CSV的子集。例如表具有类似于值ORACLE SQL CSV列比较
1| 'A,B,C,D,E'
查询:
从标签选择id其中csv_column包含 'A,C';
此查询应该返回1.
如何在SQL中实现此目的?
SELECT id
FROM yourTable
WHERE (csv_column LIKE 'A,%' OR csv_column LIKE '%,A,%' OR csv_column LIKE '%,A')
AND
(csv_column LIKE 'C,%' OR csv_column LIKE '%,C,%' OR csv_column LIKE '%,C')
注意匹配的子A
意味着要么A,
:
你需要一些括号,否则AND将不会按预期工作 –
@ChristianPalmer感谢您的编辑。 –
谢谢@TimBiegeleisen – Srini2k6