[regex] Postgres의 WHERE에서 정규식 사용

현재 다음 쿼리가 있습니다.

select regexp_matches(name, 'foo') from table;

정규식이 다음과 같은 위치에 있도록 어떻게 다시 작성할 수 있습니까 (작동하지 않음).

select * from table where regexp_matches(name, 'foo');

현재 오류 메시지 : ERROR : WHERE의 인수는 text [] 유형이 아닌 부울 유형이어야합니다. SQL 상태 : 42804 문자 : 29



답변

대신 작성하십시오.

select * from table where name ~ 'foo'

‘~’연산자는 일치하는 하위 그룹을 추출하는 대신 정규식이 일치하는지 여부에 대한 부울 결과를 생성합니다.


답변

거기에서 일치 연산자를 사용하십시오.

select * from table where name ~ 'foo';


답변