请考虑下表
id int | lang_codes text[] |
---|---|
1 | {eng,fre} |
2 | {eng} |
我需要从表中 Select 与输入数组相交的所有行,但仅当lang_codes
中的所有项都出现在输入数组中时,例如:
- 如果输入数组包含[eng,fre,ger],则返回所有行
- 而[eng,ger]不会返回第一条记录,因为它需要两个代码都出现在输入数组中.
我try 了&;&;操作数,但它返回所有行:
select * from my_table where lang_codes && ARRAY['eng','ger'];
另一方面,@>;操作数仅在数组完全匹配时返回