Saya memiliki kolom arr
yang bertipe array
.
Saya perlu mendapatkan baris, di mana arr
kolom berisi nilais
Kueri ini:
SELECT * FROM table WHERE arr @> ARRAY['s']
memberikan kesalahan:
EROR: operator tidak ada: karakter bervariasi [] @> teks []
Mengapa tidak berhasil?
ps Saya tahu tentang any()
operator, tetapi mengapa tidak @>
berhasil?
postgresql
postgresql-9.2
Oto Shavadze
sumber
sumber
Perhatikan bahwa ini juga dapat berfungsi:
SELECT * FROM table WHERE s=ANY(array)
sumber
s @> ARRAY['constant'::varchar]
, lebih pendek.SELECT * FROM table WHERE arr && '{s}'::text[];
Bandingkan dua larik untuk penahanan.
sumber