반응형
오늘은 SQL 작성 시 자주 사용되는 날짜형 함수를 살펴보겠습니다!
날짜형 함수란? 날짜, 즉 데이터형이 DATE나 TIMESTAMP인 데이터를 대상으로 연산을 수행하는 함수를 말합니다! 대표적인 날짜형 함수를 살펴봅시다~
함수 명 | 기 능 | 예 시 |
SYSDATE | 현재 일자와 시간을 반환 | SELECT SYSDATE FROM DUAL; >> 21/04/20 |
ADD_MONTHS ( date, n ) |
data 날짜에 n개월을 더한 날짜를 반환, n이 음수이면 더하지 않고 뺀 날짜를 반환 | SELECT ADD_MONTHS( SYSDATE, 1 ) FROM DUAL; >> 21/05/20 |
MONTHS_BETWEEN ( date1, date2 ) |
date1과 date2 두 날짜 사이의 개월 수를 반환, date1이 date2보다 이후 날짜면 양수, 반대면 음수 반환 | SELECT MONTHS_BETWEEN( SYSDATE +31, SYSDATE ) FROM DUAL; >> 1.03225806451612903225 |
LAST_DAY ( date ) | date가 속한 월의 마지막 일자를 반환 | SELECT LAST_DAY( SYSDATE ) FROM DUAL; >> 21/04/30 |
NEXT_DAY ( date, expr ) |
date 날짜를 기준으로 expr에 명시한 날짜 반환. expr은 요일을 나타내는데, '월요일' 형태로 쓸 수도 있고 1~7까지 숫자를 쓸 수도 있음(1은 일요일, 7은 토요일) | SELECT NEXT_DAY( SYSDATE, '월요일' ) FROM DUAL; >> 21/04/26 |
ROUND ( date, format ) |
date를 format 기준으로 반올림한 날짜 반환. format은 YEAR, MONTH, DD, HH, HH24, MI 등 사용 가능 | SELECT ROUND( SYSDATE, 'YEAR' ) FROM DUAL; >> 21/01/01 |
TRUNC ( date, format ) |
date를 format 기준으로 잘라낸 날짜 반환, format은 ROUND 함수와 동일하게 사용 가능 | SELECT TRUNC( SYSDATE, 'YEAR') FROM DUAL; >> 21/01/01 |
날짜형 함수는 약간 생소하지만.. 쓰임새와 동작 방식은 단순해서 사용하시는데 어려움이 없을 거예요!
특히 자주 사용하는 SYSDATE, ADD_MONTHS, MONTHS_BETWEEN은 알아두시면 쿼리 작성 시 도움이 많이 됩니다.
감사합니다!
반응형
'💻 IT > 📌 DataBase' 카테고리의 다른 글
[SQL 연산자] BETWEEN 연산자 :: 범위, 구간검색 연산자 (0) | 2021.06.14 |
---|---|
[ORACLE DB] SYSTEM 계정 lock 해제와 비밀번호 변경방법 (0) | 2021.06.14 |
[SQL 함수] 문자형 함수 :: 자주 사용하는 문자형함수(CONCAT, SUBSTR, TRIM, LENGTH, INSTR 등등 ) (0) | 2021.04.12 |
[SQL 함수] 숫자형 함수 :: 자주 사용하는 숫자형 함수(ROUND, TRUNC, ABS, SIGN 등등) (0) | 2021.04.11 |
(DB)Oracle 데이터베이스 설치 (0) | 2019.08.01 |