다음 쿼리를 실행할 때. select * from surgicals where to_char(dt_surgery ,'DD-MM-YYYY') = to_char('12-02-2012','DD-MM-YYYY');
함수 to_char (알 수 없음, 알 수 없음)가 고유하지 않습니다.
로 오는 오류
어떻게 선택 쿼리 위에 실행 'SQL 상태 42725 : ERROR 함수 TO_CHAR가 (알 수없는, 알 수없는) 고유하지 않습니다'?다음 쿼리를 실행할 때. select * from surgicals where to_char(dt_surgery ,'DD-MM-YYYY') = to_char('12-02-2012','DD-MM-YYYY');
함수 to_char (알 수 없음, 알 수 없음)가 고유하지 않습니다.
로 오는 오류
어떻게 선택 쿼리 위에 실행 'SQL 상태 42725 : ERROR 함수 TO_CHAR가 (알 수없는, 알 수없는) 고유하지 않습니다'?아마도 to_char('12-02-2012'::date, 'DD-MM-YYYY')
을 의미합니다. to_char
일반 문자열을 문자열로 변환 할 수 없습니다.
select * from surgicals where to_char(dt_surgery ,'DD-MM-YYYY') = '12-02-2012';
select * from surgicals where to_char(dt_surgery ,'MM-DD-YYYY') = '12-02-2012';
어쩌면이 무엇을이다 : 아직도, 그것은 이해하지 않는 것, 당신은 (당신이 제공하는 실제 예를 들어 날짜로부터 결정될 수 없다) 날짜 상수의 형식에 따라,이 두 가지 중 하나가 필요합니다 당신이 필요합니다 :
SELECT *
FROM surgicals
WHERE date_trunc('day', dt_surgery) = '2012-02-12'
;
여기서 잘못된 것은 날짜의 문자열 비교를하고 있다는 것입니다. 시간대와 같은 재미있는 것을 고려할 수있는 날짜/시간 수학을 사용하고 여전히 올바르게 해줍니다.
외과에서 ** select * to_char (dt_surgery, 'DD-MM-YYYY') = to_char ('27 -06-2012 ':: 날짜,'DD-MM-YYYY '); ** – alexkd
' 27-06-2012'은 이미 지정한 형식입니다. 문자열을 날짜로 변환하고 같은 형식의 문자열로 다시 변환하려고하는 이유는 무엇입니까? – lanzz