date type function

1. 날짜 타입 함수

Date + Number : 날짜에 일수를 더함, Date 값을 반환
Date - Number : 날짜에 일수를 뺌, Date 값을 반환
Date - Date : 날짜에서 날짜를 뺌, 일수를 반환
Date + Number / 24 : 날짜에 시간을 더할 때는 시간을 24로 나눠서 날짜에 더함, Date 값을 반환

(1) 오늘 날짜와 시간, 오늘날짜에서 1을 더한 값, 1을 뺀 값, 2017년 12월 2일에서 2017년 12월 1일을 뺀 값, 오늘 날짜에서 13시간을 더한 값 출력하기

TO_CHAR : 문자 변환 함수, SYSDATE의 시간까지 출력하기 위해 사용함
SYSDATE : 시스템의 현재 날짜와 시간을 반환하는 함수

SELECT TO_CHAR(SYSDATE, ‘YY/MM/DD/HH24:MI’) 오늘날짜,
                SYSDATE + 1 더하기1,
                SYSDATE - 1 빼기1,
                TO_DATE(‘20171202’)-TO_DATE(‘20171201’) 날짜빼기,
                SYSDATE + 13/24 시간더하기
FROM DUAL;

날짜 함수 설명 결과
MONTHS_BETWEEN 두 날짜 사이의 월수를 계산 MONTHS_BETWEEN(SYSDATE, HIRE_DATE) 171.758
ADD_MONTHS 월을 날짜에 더함 ADD_MONTHS(HIRE_DATE, 5) 03/11/17
NEXT_DAY 명시된 날짜부터 돌아오는 요일에 대한 날짜를 출력(SUNDAY:1, MONDAY:2, …) NEXT_DAY(HIRE_DATE, 1) 03/06/22
LAST_DAY 월의 마지막 날을 계산 LAST_DAY(HIRE_DATE) 03/06/30
ROUND 날짜를 가장 가까운 연도 또는 월로 반올림(YEAR or MONTH) ROUND(HIRE_DATE, ‘MONTH’) 03/07/01
TRUNC 날짜를 가장 가까운 연도 또는 월로 절삭(YEAR or MONTH) TRUNC(HIRE_DATE, ‘MONTH’) 03/06/01

2. MONTHS_BETWEEN : 두 날짜 사이의 개월 수 계산하기

MONTHS_BETWEEN(날짜, 날짜)

(1) employees 테이블에서 department_id가 100인 직원에 대해 오늘 날짜, hire_date, 오늘 날짜와 hire_date 사이의 개월 수를 출력하세요.

SELECT SYSDATE, hire_date, MONTHS_BETWEEN(SYSDATE, hire_date) 적용결과
FROM employees
WHERE department_id = 100;

3. ADD_MONTHS : 월에 날짜 더하기

ADD_MONTHS(날짜, 숫자)

(1) employees 테이블에서 employee_iod가 100과 106 사이인 직원의 hire_date에 3개월을 더한 값, hire_date에 3개월을 뺀 값을 출력하세요.

SELECT hiredate,
                ADD_MONTHS(hire_date, 3) 더하기
적용결과,
               ADDMONTHS(hire_date, -3) 빼기적용결과
FROM employees
WHERE employee_id BETWEEN 100 AND 106;

4. NEXT_DAY : 돌아오는 요일의 날짜 계산하기

NEXT_DAY(날짜, ‘요일’ or 숫자)

(1) employees 테이블에서 employee_id가 100과 106 사이인 직원의 hire_date에서 가장 가까운 금요일의 날짜가 언제인지 문자로 지정해서 출력하고, 숫자로도 지정해서 출력하세요.

SELECT hiredate,
                NEXT_DAY(hire_date, ‘금요일’) 적용결과
문자지정,
                NEXTDYA(hire_date, 6) 적용결과숫자지정
FROM employees
WHERE employee_id BETWEEN 100 AND 106;

5. LAST_DAY : 돌아오는 월의 마지막 날짜 계산하기

LAST_DAY(날짜)

(1) employees 테이블에서 employee_id가 100과 106 사이인 직원의 hire_date를 기준으로 해당 월의 마지막 날짜를 출력해 보세요.

SELECT hire_date,
                LAST_DAY(hire_day)
FROM employees
WHERE employee_id BETWEEN 100 AND 106;

6. ROUND, TRUNC : 날짜를 반올림하거나 절삭하기

ROUND or TRUNC(날짜, 지정 값)

(1) employees 테이블에서
SELECT hire_date,
                ROUND(hire_date, ‘MONTH’) 적용결과_ROUND_M,                 ROUND(hire_date, ‘YEAR) 적용결과_ROUND_Y,
                TRUNC(hire_date, ‘MONTH’) 적용결과_TRUNC_M,
                TRUNC(hire_date, ‘YEAR’) 적용결과_TRUNC_Y
FROM employees
WHERE employee_id BTWEEN 100 AND 106;

자료출처: 모두의 SQL

You need to set install_url to use ShareThis. Please set it in _config.yml.

Comments