我有一张表letter_count
看起来像这样:
count letters
2 ["a","b"]
4 ["b","c"]
2 ["a"]
0 ["b"]
6 ["c"]
7 ["d"]
我希望只能查询包含特定字母的行。
我试过了:
SELECT * FROM letter_counter WHERE letters IN ('["a"]')
但它失败了。
这里的正确语法是什么?
答案 0 :(得分:2)
尝试此选择:
SELECT * FROM letter_counter
WHERE(case when position('a' in array_to_string(letters,',')) > 0 then true else false end)
答案 1 :(得分:0)
使用此:
SELECT * FROM letter_counter WHERE letters @> ARRAY['a']::varchar[]
或者您可以花5秒时间搜索Stack Overflow并使用this answer。