[Oracle] 오라클 SYSDATE 날짜만 조회 방법 2가지
- 데이터베이스/오라클
- 2024. 12. 21.
오라클 SQL에서 SYSDATE 함수를 사용하여 현재 날짜와 시간을 조회할 수 있다. 그러나 시간을 제외한 날짜만 필요할 때가 있는데, 이럴 때는 TRUNC 함수를 사용하여 시간을 절사 하는 방법과, TO_CHAR 함수를 사용하여 날짜 형식을 문자열로 변환하는 방법이 있다. 상황에 따라서 2가지 방법을 적절히 사용하면 된다.
SELECT SYSDATE
, TRUNC(SYSDATE)
, TO_CHAR(SYSDATE, 'YYYY-MM-DD')
FROM dual
TRUNC(SYSDATE) :
TRUNC 함수를 사용하면 날짜 형식에서 시간을 버리고 날짜만 반환한다.
반환된 값이 SYSDATE와 동일한 날짜 형식이기 때문에 날짜 형식을 사용해야 할 경우 유용하게 사용할 수 있다.
아래와 같이 WHERE 절에서 날짜 칼럼에 값을 대입할 때 사용할 수 있다.
SELECT *
FROM emp
WHERE hiredate = TRUNC(SYSDATE)
SELECT *
FROM emp
WHERE hiredate BETWEEN TRUNC(SYSDATE) - 5 AND SYSDATE
TO_CHAR(SYSDATE, 'YYYY-MM-DD') :
TO_CHAR 함수를 사용하면 날짜 형식을 문자열로 변환할 수 있다. 문자열로 변환할 때 다양한 포맷으로 변환이 가능하기 때문에 유용하게 사용할 수 있다.
TO_CHAR 함수는 날짜를 문자열 형식으로 변환하기 때문에 반환된 값을 TRUNC 함수처럼 WHERE 절에서 날짜 칼럼과 대입하여 비교하는 방법은 문제가 발생할 수도 있으며, 문자열로 값을 반환받아야 하는 경우 사용하는 것이 좋다.