[postgresql] 배열로 선택하는 방법은 psql의 값 절을 포함합니다.

arr 유형의 열 이 array있습니다.

arr열에 값이 있는 행을 가져와야합니다.s

이 쿼리 :

SELECT * FROM table WHERE arr @> ARRAY['s']

오류를 제공합니다.

오류 : 연산자가 없습니다. 다양한 문자 [] @> 텍스트 []

왜 작동하지 않습니까?

ps any()연산자에 대해 알고 있지만 왜 작동하지 @>않습니까?



답변

시험

SELECT * FROM table WHERE arr @> ARRAY['s']::varchar[]


답변

다음과 같이 작동 할 수도 있습니다.

SELECT * FROM table WHERE s=ANY(array)


답변

SELECT * FROM table WHERE arr && '{s}'::text[];

격리를 위해 두 배열을 비교합니다.


답변