내가 PostgreSQL을 9.4과 일치하는 정규식 패턴을 사용하려고 해요 :PostgreSQL의 9.4 UPDATE ... 정규식 사업자와 오류에서
이전 대답하지만 성냥이 특정 문제에
을 찾을 수 있습니다 아무것도를 통해 봤어 select 'apple' ~ '^.*pp.*$'
은 't'를 예상대로 반환합니다.
update <table> set column = 'value' where name ~* '^.*pp.*$'
도 작동합니다.
는하지만 :
update <table> set column = 'value' from <other_table> where name ~* '^.*pp.*$'
오류가 발생합니다 :
구체적인 예 :
update
members set
pattern = a.pattern
from
services a
where
organisation ~* '^.*' || replace(a.pattern, ' ', '.*') || '.*$';
ERROR : 유형 부울이어야 WHERE의 인수, 텍스트 LINE 1을 입력하지 .. .attern = a.pattern from services 어디에서 조직입니까?
■ 업데이트의 FROM 테이블이 정규식 연산자를 올바르게 인식하지 못하거나 처리하지 못하는 경우 where 절을 사용합니다. 또는 동등 아마, 나는 UPDATE를 오해하고있어 ... 구문 FROM
많은 감사를 당신이 문자열 식의 주위에 괄호를 누락
우수. 많은 감사합니다. 나는 이전에 괄호를 사용 했었지만, 어디에서 (조직 ...) –