☑️ 오라클에서 날짜를 출력할 때는 두 가지 방식이 있다.
➡️ SYSDATE 예약어 → 날짜 년/월/일 오늘 날짜 (컴퓨터의 날짜)
➡️ SYSTIMESTAMP 예약어 → 날짜 + 시간까지 출력
SELECT SYSDATE, SYSTIMESTAMP
FROM DUAL;
❗ 날짜도 산술연산 처리가 가능하다.
SELECT SYSDATE, SYSDATE -2, SYSDATE +3, SYSDATE +30
FROM DUAL;
👉 LENGTH( '문자열' || 컬럼명 ) -> 문자열의 갯수를 출력
SELECT
NEXT_DAY (SYSDATE,'월'),
NEXT_DAY (SYSDATE, '수'),
NEXT_DAY (SYSDATE, 'MON')
-- LOCALE의 값을 가지고 언어 선택 (출력불가)
FROM DUAL;
SELECT *
FROM V$NLS_PARAMETERS;
ALTER SESSION SET NLS_LANGUAGE = 'KOREAN';
SELECT LAST_DAY (SYSDATE), LAST_DAY (SYSDATE+30)
FROM DUAL;
SELECT SYSDATE, ADD_MONTHS (SYSDATE, 4),
ADD_MONTHS (SYSDATE, 10)
FROM DUAL;
SELECT FLOOR (MONTHS_BETWEEN ('23/08/17',SYSDATE)) -- 4
FROM DUAL;
👉 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;