3

したがって、列の1つが文字列の配列であるPostgresデータベースがあります

クエリを実行すると

SELECT count(*) FROM table WHERE column @> ARRAY['string']::varchar[];

特定のデータセットが返されますが、文字列にワイルドカードを使用してその配列をクエリしたい場合、それを理解できないようです。

SELECT count(*) FROM table WHERE column LIKE ARRAY['%string%']::varchar[];

どんな助けでも大歓迎です!

4

1 に答える 1

1

使用unnest():

WITH t(arr) AS ( VALUES
  (ARRAY['foo','bar']),
  (ARRAY['foo1','bar1'])
)
SELECT count(*) FROM t,unnest(t.arr) AS str
WHERE str ILIKE '%foo%';

結果:

 count 
-------
     2
(1 row)
于 2016-02-12T05:43:01.360 に答える