2013-08-12 3 views
0

Netezza에서는 날짜 값이 유효한지 확인하려고합니다. SQL 서버에서 ISDATE 함수와 같은 것.Netezza의 날짜 값 확인

유효하지 않은 2013 년 11 월 31 일과 같은 날짜가 표시됩니다. Netezza에서이 날짜가 유효한지 확인할 수있는 방법을 통해 내 프로세스에서 제외시킬 수 있습니다.

감사

답변

0

나는이 믿지 않는 내장 네티 기능 날짜가 유효한지 확인합니다. 이 작업을 수행 할 수있는 LUA 함수를 작성 할 수 있습니다, 또는 당신은 너무처럼 "날짜"조회 테이블에 합류 시도 할 수 :

DATE_VALUE date 
DATE_STRING varchar(10) 

로드 데이터로 :

두 개의 열이있는 테이블을 만듭니다 유효한 날짜에 대한이 테이블 (좋아하는 도구에 파일을 생성하고, Excel, Unix 등). DATE_VALUE (다른 유효한 "형식) 당 둘 이상의 행이있을 수 있습니다.이 형식을 모두 사용하는 경우이 확인입니다. 1900 년에서 2100 년 사이에 데이터를 채우는 경우 데이터가 해당 범위 내에있는 한 괜찮을 것입니다. 그리고 그것은 ~ 200 년 동안 ~ 7300 행만의 작은 테이블입니다. 필요한 경우 더 추가하십시오. NZ 날짜 데이터 유형이 AD1에서 AD 9999로 변경되었으므로 340 만 개의 행 (뉴질랜드의 경우 작음)으로 완전히 채울 수 있습니다.

잘못된 날짜가있는 행을 분리하려면 DATE_STRING에 JOIN 또는 EXISTS/NOT EXISTS을이 테이블에 사용하십시오. 테이블이 너무 작기 때문에 netezza는이를 모든 SPU에 브로드 캐스팅하므로 성능에 미치는 영향은 거의 없습니다.

0

Netezza Analytics 패키지 3.0 (무료 다운로드)은 날짜 값을 확인하는 몇 가지 LUA 기능인 isdate() 및 todate()와 함께 제공됩니다. 설치/컴파일이 매우 간단합니다.