Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

얼렁뚱땅 우왕좌왕

SQL 날짜함수 본문

DB

SQL 날짜함수

뚱땅왕 2024. 8. 26. 13:09

  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