DataBase

[ORACLE] 날짜 비교 DATE vs STRING

jeongwon_ 2022. 11. 14. 03:31

SELECT * FROM name_tb
WHERE show='y' AND
(TO_CHAR(start_date, 'YYYY-MM-DD') >= '2022-11-14' OR
TO_CHAR(end_date, 'YYYY-MM-DD') >= '2022-11-14');
        
SELECT * FROM name_tb
WHERE show='y' AND
(start_date >= sysdate OR
end_date >= sysdate);

 

 

두 구문을 비교해보았을 때

end_date 가 '2022-11-14 ' 인 레코드 1 건이 누락되었다.

찾아보니 시간값까지 정확히 비교하기 위해선 String으로 변환 후 비교하는 것이 좋다고 한다.

 

참고:https://coding-factory.tistory.com/441

 

[Oracle] 오라클에서 날짜를 비교하는 방법

오라클에서 날짜를 비교할 때 주의사항이 있습니다. DATE형/ 문자형끼리 비교는 문제가 없지만 DATE형과 문자형의 비교일 경우 서로 데이터 타입을 맞춰줘야 합니다. 오라클에서 주로 날짜 포맷을

coding-factory.tistory.com