꺄르륵
[Oracle SQL Developer] 기초 VII - 날짜 함수 본문
1. 날짜 함수
1.1. SYSDATE, SYSTIMESTAMP
1.1.1. 시스템에서 제공하는 현재의 날짜 및 시간
예)
SELECT SYSDATE FROM DUAL;
-- 현재의 YYYY-MM-DD의 값이 반환된다.
1.2. ADD_MONTHS(d, n)
1.2.1. 날짜자료 d에 n개월을 더한 날짜를 반환한다.
SELECT ADD_MONTHS(SYSDATE, 10) FROM DUAL;
-- 현재 날짜의 해당하는 달 + 10월을 더한 날짜를 반환한다.
1.3. NEXT_DAY(d, c)
1.3.1. d에 해당하는 날짜 이후에 가장 먼저 만나는 c 요일의 날짜를 반환한다.
- c는 요일을 기술한다. EX) '월요일(1)' '화요일(2)' ...
예)
SELECT NEXT_DAY(SYSDATE, '월') FROM DUAL;
예) 사원테이블에서 사원들의 입사일 이후 일요일의 날짜를 구하시오.
SELECT EMP_NAME 사원명,
HIRE_DATE 입사일,
NEXT_DAY(HIRE_DATE, '일') "첫 휴일"
FROM EMPLOYEES;
1.4. MONTHS_BETWEEN(d1, d2)
1.4.1. 두 날짜 자료 d1과 d2 사이의 달 수를 반환한다.
예)
SELECT MONTHS_BETWEEN(SYSDATE, '2019-12-01') FROM DUAL;
1.5. EXTRACT(exp FROM d1)
1.5.1. exp(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) 추출하고자하는 데이터 단위, d1(날짜형 자료)
: d1으로부터 exp를 추출하여 활용한다.
예) 회원테이블의 주민번호 앞자리를 이용하여 회원들의 생일 중 월을 조회하시오.
Alias는 회원번호, 회원명, 주민번호, 태어난월
SELECT MEM_ID 회원번호,
MEM_NAME 회원명,
MEM_REGNO1 || '-' || MEM_REGNO2 주민번호,
EXTRACT(YEAR FROM TO_DATE(MEM_REGNO1,'YYMMDD')) - 100 태어난년도,
EXTRACT(MONTH FROM TO_DATE(MEM_REGNO1,'YYMMDD')) 태어난월,
EXTRACT(DAY FROM TO_DATE(MEM_REGNO1,'YYMMDD')) 태어난일
FROM MEMBER;
'프로그래밍 > DB' 카테고리의 다른 글
[Oracle SQL Developer] 기초 IX - 집계 함수 (0) | 2019.10.14 |
---|---|
[Oracle SQL Developer] 기초 VIII - 변환 함수 (0) | 2019.10.14 |
[Oracle SQL Developer] 기초 VI - 문자열 함수 (0) | 2019.10.08 |
[Oracle SQL Developer] 기초 V - 숫자 함수 (0) | 2019.10.08 |
[Oracle SQL Developer] Import (0) | 2019.10.07 |