2017-05-10 12 views
1

나는 때문에 일치하지 않는 데이터 유형에 실패 COALESCE(timestamp_type::date,charachter_varying)를 사용하여 쿼리를 가지고 :데이터 형식이 다른 COALESCE를 사용합니까?

오류 : 유형 날짜를 COALESCE 및 문자

내가 text으로 타임 스탬프를 던져 경우 작동 일치시킬 수없는 다양한 :

COALESCE(timestamp_type::text,charachter_varying)

그러나, 나는 단지 YYYY-MM-DD을 할 때 지금은

(대신 풀 타임 스탬프의 YYYY-MM-DD HH:MM:SS.000000+00) 전체 타임 스탬프를 반환

어떻게 COALESCE 을 사용하면 타임 스탬프의 날짜 부분 만 반환합니까?

답변

5

당신은 적절한 형식 마스크를 사용하여 타임 스탬프를 변환하는 TO_CHAR를 사용할 수 있습니다

COALESCE(to_char(timestamp_type, 'YYYY-MM-DD'), varchar_col) 
2

올바른 캐스팅이 예상대로 ... 당신이있는 경우에 작동합니다

COALESCE(timestamp_type::date::text,char_var) 

것 ISO datestyle. 하지만 날짜/시간을 텍스트로 변환하거나 텍스트에서 변환하는 데이터 스타일 설정에 의존하지 않는 것이 좋습니다. 따라서 @ Gurwinder Singh의 대답은 갈 길입니다.