by 여의주 [SQL Query] Oracle GREATEST LEAST 함수사용법 [2022.07.04 12:11:02]
제가 아래와 같이 test_t 라는 테이블을 만들고 각 row 의 date_s 와 date_e 를 GREATEST 와 LEAST 함수를 이용해서 날짜를 비교하고 있습니다. 쿼리 결과에서 date_s 와 date_e 는 아래와 같고 결과는 제가 원하는대로 나왔습니다. 그런데 예를 들어 '20220628' 와 '20220701' 중 어느 것이 더 큰지 비교한다면 이 때는 비교하는 기준이 unicoe 값을 비교하는 것인지 아니면 어떻게 비교하는지 궁금합니다.
WITH test_t AS ( SELECT 1 AS t_id, '20220628' date_s, '20220630' date_e FROM DUAL UNION ALL SELECT 2 AS t_id, '20220620' date_s, '20220715' date_e FROM DUAL UNION ALL SELECT 3 AS t_id, '20220701' date_s, '20220725' date_e FROM DUAL ) SELECT t_id, GREATEST(date_s, '20220701') AS date_s, LEAST(date_e, '20220730') AS date_e FROM test_t ;
실행 결과 중 date_s와 date_e 의 값은 아래와 같이 잘 나왔습니다.
date_s | date_e |
20220701 | 20220630 |
20220701 | 20220715 |
20220701 | 20220725 |