2014-02-20 1 views
2

Netezza의 모든 컬럼 값에서 주어진 값에 대해 테이블을 조회하는 방법이 있습니까? 시나리오는 전체 테이블에서 유효하지 않은 문자를 볼 수 없도록해야합니다. 무시하는테이블의 유효하지 않은 문자를 확인하십시오.

ASCII 값은 유닉스 스크립트를 사용하여 결과를 얻을 수

($i < 32) Or ($i > 32 && $i < 45) 
Or ($i >= 58 && $i < 65) 
or ($i > 90 && $i < 122) || ($i > 122) 

이다, 그러나 64 열, 61000 개 기록을 스캔 약 30 분 복용.

더 나은 Netezza Sql 접근 방식이 권장됩니다.

답변

2

Netezza SQL 확장 툴킷이 설치된 경우 regex을 사용하여이 문제를 해결할 수 있습니다. \x20가 시작 진수 코드 \x7E 끝으로 되

select sql_functions..regexp_extract('546asdasdÇ','[\x20-\x7E]+') 

. this webpage을 참조하여 조정하십시오.

+0

다음은 다른 스택 질문에 대한 참고 자료로 [좋은 링크]입니다. (http://stackoverflow.com/questions/4345621/php-regex-to-allow-letters-and-numbers-only) – weeksdev