2012-06-27 2 views

답변

3

아마도 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'; 
+0

외과에서 ** select * to_char (dt_surgery, 'DD-MM-YYYY') = to_char ('27 -06-2012 ':: 날짜,'DD-MM-YYYY '); ** – alexkd

+1

' 27-06-2012'은 이미 지정한 형식입니다. 문자열을 날짜로 변환하고 같은 형식의 문자열로 다시 변환하려고하는 이유는 무엇입니까? – lanzz

3

어쩌면이 무엇을이다 : 아직도, 그것은 이해하지 않는 것, 당신은 (당신이 제공하는 실제 예를 들어 날짜로부터 결정될 수 없다) 날짜 상수의 형식에 따라,이 두 가지 중 하나가 필요합니다 당신이 필요합니다 :

SELECT * 
FROM surgicals 
WHERE date_trunc('day', dt_surgery) = '2012-02-12' 
    ; 
4

여기서 잘못된 것은 날짜의 문자열 비교를하고 있다는 것입니다. 시간대와 같은 재미있는 것을 고려할 수있는 날짜/시간 수학을 사용하고 여전히 올바르게 해줍니다.

관련 문제