얼렁뚱땅 우왕좌왕
SQL 날짜함수 본문
■ ADD_MONTHS(DATE, INTEGER) : 매개변수 DATE에 매개변수 INTEGER 만큼의 월을 더한 날짜를 리턴
■ LAST_DATE(DATE) : 현재 월의 마지막 일자를 리턴
■ NEXT_DAY(DATE,CHAR) : 매개변수 DATE의 다음 주 CHAR(요일)의 날짜를 리턴
■ MONTHS_BETWEEN(DATE1, DATE2) : 매개변수 DATE1과 DATE2 사이의 개월 수를 리턴
- 소수점으로 결과가 나오기 때문에 앞에 ROUND 함수를 같이 써주는 게 좋다
요일표시, 년월일 절삭하기
-- 결과 : 연도
SELECT TO_CHAR(SYSDATE,'YEAR') FROM DUAL;
--결과 : 화요일
SELECT TO_CHAR(SYSDATE,'DAY') FROM DUAL;
-- 결과 : 목
SELECT TO_CHAR(SYSDATE,'DY') FROM DUAL;
-- 결과 : 5 (1:일, 2:월, 3:화, 4:수, ...)
SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;
-- 오늘날짜 20231221 기준 절삭시
SELECT TRUNC(SYSDATE,'Y') FROM DUAL; --결과 : 2023/01/01 00:00:00
SELECT TRUNC(SYSDATE,'MM') FROM DUAL; --결과 : 2023/12/01
SELECT TRUNC(SYSDATE,'DD') FROM DUAL; --결과 : 2023/01/01 00:00:00
AM, PM, 세기 표시
SELECT TO_CHAR(SYSDATE, 'AM', 'NLS_DATE_LANGUAGE=AMERICAN') AMERICAN,
TO_CHAR(SYSDATE, 'AM', 'NLS_DATE_LANGUAGE=KOREAN') KOREA FROM DUAL;
--NLS_DATE_LANGUAGE=AMERICAN : AM, PM
--NLS_DATE_LANGUAGE=KOREAN : 오전, 오후
SELECT TO_CHAR(TO_DATE('202312210947', 'YYYYMMDDHH24MISS'), 'YYMMDD HH:MM:SS AM') 오전오후
FROM DUAL;
-- 결과 : 231221 09:12:00 오전
SELECT TO_CHAR(SYSDATE, 'AD YYYY, CC"세기"')
FROM DUAL;
-- 결과 : 서기 2023, 21세기
'DB' 카테고리의 다른 글
SQL 시퀀스 (0) | 2024.08.26 |
---|---|
서브쿼리 (0) | 2024.08.26 |
SQL 연습문제로 함수 알아보기 (0) | 2024.08.26 |
[ORACLE] 용어 정리 (0) | 2024.07.15 |
[ORACLE] 트리거 (0) | 2024.07.15 |