我需要匹配以逗号分隔的列中的输入并获得等效值
第 1 栏 | col2 |
---|---|
X | AB 1.0,CD 1.0,CD 2.0 |
是 | AE 2.0,CD 3.0 |
如果我将输入作为 CD 1.0 传递,我需要检查此表,如果我通过 CD 2.0,它应该返回 X,那么它应该给出结果 X 如果输入是 CD 3.0,那么结果应该是 Y
展望未来,规范化数据可能是一个更好的主意,但如果这不是一个选项,您可以将字符串转换为数组,然后使用
any
: 进行搜索
SELECT col1
FROM mytable
WHERE 'CD 1.0' = ANY(STRING_TO_ARRAY(col2, ','))