기본 날짜 계산
- 오라클 데이터베이스는 세기, 연도, 월, 일, 시, 분, 초 형태의 내부 숫자 형식으로 날짜를 저장한다.
- 기본 Date Format 설정에 따라 화면에 표시된다.
- 날짜형 데이터 간 뺄셈을 수행할 수 있다.
날짜 함수
- ADD_MONTH(D1, N) : D1날짜에 N개월을 더한다.
- ex)
1
|
SELECT ADD_MONTHS(sysdate, 36) AS 결과1, ADD_MONTHS(sysdate, -2) AS 결과2 FROM dual;
|
- MONTHS_BETWEEN(D1, D2) : D1, D2 두 날짜 간의 경과 개월 수
- ex)
1
|
SELECT player_name, birth_date, MONTHS_BETWEEN(SYSDATE, birth_date) FROM player WHERE birth_date IS NOT NULL;
|
- LAST_DAY : 해당 월의 마지막 날짜를 리턴한다.
- ex)
1
|
SELECT LAST_DAY(sysdate) FROM dual;
|
- ROUND : 날짜를 년, 월 단위로 반올림한다.
- ex)
1
2
3
4
5
6
|
SELECT
player_name, birth_date,
ROUND(birth_date, 'MM') AS 결과1,
ROUND(birth_date, 'YY') AS 결과2
FROM player
WHERE position = 'GK';
|
- TRUNC : 날짜를 년, 월 단위로 버린다.
- ex)
1
2
3
4
5
6
|
SELECT
player_name, birth_date,
TRUNC(birth_date, 'MM') AS 결과1,
TRUNC(birth_date, 'YY') AS 결과2
FROM player
WHERE position = 'GK';
|
- EXTRACT : 날짜에서 지정한 날짜 필드 값을 추출하여 반환한다.
- ex) 선수 이름이 '가'로 시작하는 선수의 이름, 출생일, 년, 월, 일을 조회
1
2
3
4
5
6
7
8
|
SELECt
player_name,
birth_date,
EXTRACT(year from birth_date) 결과1,
EXTRACT(month from birth_date) 결과2,
EXTRACT(day from birth_date) 결과3
FROM player
WHERE player_name LIKE '가%';
|
- INTERVAL : 날짜에서 지정한 날짜 필드 값을 더하거나 뺄 수 있다.
- ex) 포지션이 'GK'인 선수의 이름, 출생일, 출생일에 50년을 더해서 조회
1
2
3
4
5
6
|
SELECT
player_name,
birth_date,
birth_date + INTERVAL '50' year
FROM player
WHERE position = 'GK';
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
오늘의 한 줄 : 날짜 함수는 처음
출처 : SK 동반성장 아카데미, 비전공자를 위한 SQL 입문, 「날짜 연산 및 날짜 함수」
'공부 > SQL' 카테고리의 다른 글
[SQL] 일반 함수 (0) | 2019.12.03 |
---|---|
[SQL] 변환 함수 (0) | 2019.12.03 |
[SQL] 문자 · 숫자 함수 (0) | 2019.12.02 |
[SQL] 복합조건 지정 및 데이터 정렬 (0) | 2019.12.02 |
[SQL] 컬럼(Column) 및 로우(Row)의 선택 (0) | 2019.12.02 |