<날짜형 함수>
-
SYSDATE: 현재 날짜와 시간
1
2
|
SELECT SYSDATE
FROM DUAL;
|
cs |
-
날짜+숫자: 날짜
1
2
|
SELECT SYSDATE, SYSDATE+3, SYSDATE-3
FROM DUAL;
|
cs |
-
날짜-날짜: 총 일수
1
2
3
|
SELECT employee_id, SYSDATE, hire_date,
SYSDATE - hire_date, ROUND (SYSDATE-hire_date)
FROM employees;
|
cs |
-
시간 계산
-
month_between: 월을 계산
1
2
3
4
|
SELECT employee_id, first_name,
ROUND(MONTHS_BETWEEN(sysdate,hire_date)),
(sysdate-hire_date)/30
FROM employees;
|
cs |
-
add_months: 달을 더함
1
2
3
|
SELECT employee_id, first_name, hire_date,
ADD_MONTHS(hire_date,4) --4달 더하기
FROM employees;
|
cs |
-
next day(날짜, 다음번 나올 요일)
1
2
|
SELECT sysdate, next_day(sysdate, '월요일')
FROM DUAL;
|
cs |
1
2
|
SELECT sysdate, next_day(sysdate, '화요일')
FROM DUAL;
|
cs |
-
LAST_DAY (그 월의 마지막 날)
1
2
|
SELECT LAST_DAY(SYSDATE)
FROM DUAL;
|
cs |
-
날짜의 반올림
1
2
3
4
5
|
SELECT employee_id, hire_date,
ROUND(hire_date, 'MONTH') 월, --날에서 반올림 1일
ROUND(hire_date, 'YEAR') 년 --월에서 반올림 1월 1일
FROM employees
WHERE MONTHS_BETWEEN (sysdate, hire_date) < 150;
|
cs |
<날짜형함수 예제>
-
employees 테이블에서 department_id가 100인 직원에 대해 오늘 날짜, hire_date, 오늘 날짜와 hire_date사이의 개월 수를 출력
1
2
3
|
SELECT sysdate, hire_date, MONTHS_BETWEEN(SYSDATE,hire_date)
FROM employees
WHERE department_id = 100;
|
cs |
-
employees 테이블에서 employee_id가 100과 106사이인 직원의 hire_date에 3개월을 더한 값, hire_date에 3개월을 뺀 값을 출력
1
2
3
4
|
SELECT hire_date, ADD_MONTHS(hire_date,3) "더하기_3개월",
ADD_MONTHS(hire_date,-3) "빼기_3개월"
FROM employees
WHERE employee_id BETWEEN 100 AND 106;
|
cs |
'Learning > SQL' 카테고리의 다른 글
NULL 관련 함수 (0) | 2020.06.16 |
---|---|
변환형 함수 (0) | 2020.06.16 |
숫자형 함수 (0) | 2020.06.15 |
문자형 함수 (0) | 2020.06.15 |
IS NULL 연산자, ORDER BY (0) | 2020.06.15 |