2012-02-08 2 views
0

y.cap_ts의 내용을 확인하고 값이 (null이 아닌) 경우 current_date으로 바꾸거나 null로 두십시오. 하지만 그때/기타 오류 데이터 형식이 일치하지 않습니다.테라 데이타의 데이터 유형 불일치

여기서 cap_ts는 날짜 데이터 유형입니다.

더 좋은 해결책을 제안 할 수 있습니까?

SET 
cap_ts = CASE WHEN y.cap_ts IS NULL AND y.rwrd > 50 
       THEN current_date 
       ELSE NULL END 

현재 저는 teradata에서 작업하고 있습니다.

+0

정적 날짜로 설정해 보셨습니까? DATE '1980-01-01'테이블 정의를 공유 할 수 있습니까? –

답변

0

CURRENT_DATECURRENT_TIMESTAMP(0)으로 바꾸어보십시오. CAP_TSDATE 데이터 유형이지만 사용자의 명명 규칙에 달리 지정되어있는 것으로 나타났습니다. 오라클과 달리 Teradata의 DATE 데이터 유형에는 시간 구성 요소가 포함되어 있지 않습니다. 실제로 TIMESTAMP으로 정의 된 경우 CURRENT_TIMESTAMP(n)을 사용해야합니다. 여기서 n은 시간의 정밀도입니다.

+0

예. 나는 그걸 가지고 놀고 있었고 날짜를 타임 스탬프로 바꿨고 효과가있었습니다. – user1172117