기본 날짜 계산
 - 오라클 데이터베이스는 세기, 연도, 월, 일, 시, 분, 초 형태의 내부 숫자 형식으로 날짜를 저장한다.
 - 기본 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

+ Recent posts