[Oracle] 날짜 함수

라라·2023년 4월 3일
0

Oracle

목록 보기
6/16
post-thumbnail

📂 날짜 함수

☑️ 오라클에서 날짜를 출력할 때는 두 가지 방식이 있다.

➡️ SYSDATE 예약어 → 날짜 년/월/일 오늘 날짜 (컴퓨터의 날짜)
➡️ SYSTIMESTAMP 예약어 → 날짜 + 시간까지 출력

SELECT SYSDATE, SYSTIMESTAMP
FROM DUAL;

❗ 날짜도 산술연산 처리가 가능하다.

SELECT SYSDATE, SYSDATE -2, SYSDATE +3, SYSDATE +30
FROM DUAL;



📍 매개변수로 전달받은 요일 중 가장 가까운 다음 날짜 출력 ( NEXT_DAY )

👉 LENGTH( '문자열' || 컬럼명 ) -> 문자열의 갯수를 출력

SELECT
NEXT_DAY
(SYSDATE,'월'),
NEXT_DAY (SYSDATE, '수'),
NEXT_DAY (SYSDATE, 'MON')
-- LOCALE의 값을 가지고 언어 선택 (출력불가)
FROM DUAL;



📍 언어 설정 변경 ( LOCALE )

SELECT *
FROM V$NLS_PARAMETERS;
ALTER SESSION SET NLS_LANGUAGE = 'KOREAN';



📍 그 달의 마지막 날을 출력 ( LAST_DA )

SELECT LAST_DAY (SYSDATE), LAST_DAY (SYSDATE+30)
FROM DUAL;



📍 개월 수를 더하는 함수 ( ADD_MONTHS )

SELECT SYSDATE, ADD_MONTHS (SYSDATE, 4),
ADD_MONTHS (SYSDATE, 10)
FROM DUAL;



📍 두 개의 날짜를 받아서 두 날짜의 개월 수를 계산해 주는 함수 ( MONTHS_ BETWEEN )

SELECT FLOOR (MONTHS_BETWEEN ('23/08/17',SYSDATE)) -- 4
FROM DUAL;



📍 날짜의 년도, 월, 일자를 따로 출력할 수 있는 함수 ( MONTHS_ EXTRACT )

👉 EXTRACT ( YEAR || MONTH || DAY FROM 날짜 ) : 숫자로 출력

SELECT EXTRACT(YEAR FROM SYSDATE) AS 년,
EXTRACT(MONTH FROM SYSDATE) AS 월,
EXTRACT(DAY FROM SYSDATE) AS
FROM DUAL;

SELECT EXTRACT (DAY FROM HIRE_DATE) + 100
FROM EMPLOYEE;

✏️ 사원 중 12월에 입사한 사원

SELECT *
FROM EMPLOYEE
WHERE EXTRACT (MONTH FROM HIRE_DATE) = 12;

✏️ 오늘부로 라라가 입대한다. 군대 복무기간은 1년 6개월이다.
✏️ 전역일자를 구하고, 전역 때까지 먹는 식사(하루 세끼)를 구하기

SELECT ADD_MONTHS (SYSDATE, 18) 전역일,
(ADD_MONTHS (SYSDATE, 18) - SYSDATE) * 3 AS 식사횟수
FROM DUAL;



📍 RR로 년도를 출력할 때

profile
코딩하는 라라 :)

0개의 댓글