2017-11-09 2 views
-1

이 쿼리는 mysql에서 작동하지만 redshift/postgresql에서 같은 쿼리를 작성하는 방법을 모르겠습니다.redshift에서 정규 표현식 사용

update customer_Details set 
customer_No = NULL 
WHERE customer_No NOT REGEXP '^[[:digit:]]{12}$' 
+1

''와 REGEXP' ~'NOT 교체합니다. regex 패턴을'^ \ d {12} $' –

답변

1

!~ operator을 사용해야합니다.

UPDATE 
    customer_details 
SET 
    customer_no = NULL 
WHERE 
    customer_No !~ '^[[:digit:]]{12}$'; 
1

Redshift에 기본적으로 포스트 그레스 8.3의 포크이며, 포스트 그레스의 정규식 구문을 사용합니다 : 그것처럼 뭔가 일을해야합니다!

update customer_Details set 
customer_No = NULL 
WHERE customer_No ! ~ '^[0-9]{12}$'