728x90
ORACLE 시간, 날짜 데이터 바꾸기
SELECT
--날짜 포맷
TO_CHAR(SYSDATE,'DAY'),-- 일요일 (요일 표시)
TO_CHAR(SYSDATE,'DY') --일 (요일을 한자리로 표시)
TO_CHAR(SYSDATE,'WW'), -- 28 (일년 기준 주를 00 ~ 53 형태로 표시)
TO_CHAR(SYSDATE,'DDD'),-- 194(1년기준 일 수)
# TO_CHAR(SYSDATE,'W') -- 2 (한달 기준 몇번째 주)
TO_CHAR(SYSDATE,'DL'),--2020년 07월 12일 일요일
--시간 포맷
TO_CHAR(SYSDATE,'AM'),--오전
TO_CHAR(SYSDATE,'PM'),--오후
TO_CHAR(SYSDATE,'HH'), -- 9 (시간을 0 ~ 12 형태로 표시)
TO_CHAR(SYSDATE,'HH24'), --21 (시간을 0 ~ 24 형태로 표시)
TO_CHAR(SYSDATE,'MI'), --36 (분을 00 ~ 59 형태로 표시)
TO_CHAR(SYSDATE,'SS') --3 (초을 01 ~ 59 형태로 표시)
--세기 포맷
TO_CHAR(SYSDATE,'CC'), --21 (세기)
TO_CHAR(SYSDATE,'BC'), --서기
FROM DUAL
MySQL 시간, 날짜 데이터 바꾸기
SELECT
--날짜 포맷
DATE_FORMAT(NOW(), '%Y %m %d'), -- 20200712
DATE_FORMAT(NOW(), '%Y-%m-%d'), -- 2020-07-12
DATE_FORMAT(NOW(), '%Y/%m/%d'), -- 2020/07/12
DATE_FORMAT(NOW(), '%Y') -- 2020
DATE_FORMAT(NOW(), '%y') -- 20
DATE_FORMAT(NOW(), '%m') -- 07
DATE_FORMAT(NOW(), '%m월') -- 07월
DATE_FORMAT(NOW(), '%j') -- 194 (1년 기준 일 수)
DATE_FORMAT(NOW(), '%U') -- 28(1년 기준 주, 시작: 일요일)
DATE_FORMAT(NOW(), '%W') -- Sunday
DATE_FORMAT(NOW(), '%w') -- 0 (주중의 일을 1~7로 표시(일요일 = 0)
DATE_FORMAT(NOW(), '%d') -- 12(두자리)
DATE_FORMAT(NOW(), '%e') -- 12(한자리)
--시간 포맷
DATE_FORMAT(NOW(), '%l') -- 6 (12시간)
DATE_FORMAT(NOW(), '%H') -- 18 (24시간)
DATE_FORMAT(NOW(), '%r') -- 06:54:43 PM (시간)
DATE_FORMAT(NOW(), '%S') -- 10 (초)
FROM DUAL
Oracle 시간, 날짜 더하기
SELECT
--날짜 포맷
SYSDATE + (INTERVAL '1' YEAR --1년 더하기
SYSDATE + (INTERVAL '1' MONTH) --1개월 더하기
SYSDATE + (INTERVAL '1' DAY) --1일 더하기
--시간 포맷
SYSDATE + (INTERVAL '1' HOUR) --1시간 더하기
SYSDATE + (INTERVAL '1' MINUTE) --1분 더하기
SYSDATE + (INTERVAL '1' SECOND) --1초 더하기
SYSDATE + (INTERVAL '02:10' HOUR TO MINUTE) --2시간10분 더하기
SYSDATE + (INTERVAL '01:30' MINUTE TO SECOND) --1분30초 더하기
#숫자를 -로 하면 빼기
FROM DUAL
MySQL 시간, 날짜 더하기
SELECT
--날짜 포맷
DATE_ADD('1998-01-02', INTERVAL 42 DAY) -- '1998-02-02' (42일 더하기)
DATE_ADD('1998-01-02', INTERVAL 1 MONTH) -- '1998-02-02' (1달 더하기)
DATE_ADD('1998-01-02', INTERVAL 1 YEAR) -- '1999-01-02' (1년 더하기
--시간 포맷
DATE_ADD(NOW(), INTERVAL 1 SECOND) -- 2020-07-13 19:18:44 (1초 더하기)
DATE_ADD(NOW(), INTERVAL 1 MINUTE) -- 2020-07-13 19:18:09 (1분 더하기)
DATE_ADD(NOW(), INTERVAL 1 HOUR) -- 2020-07-13 18:21:14 (1시간 더하기)
DATE_ADD(NOW(), INTERVAL '1:20' HOUR_MINUTE) -- 2020-07-13 20:45:14 (1시간 20분 더하기)
DATE_ADD(NOW(), INTERVAL '1:20:30' HOUR_SECOND) -- 2020-07-13 20:46:30 (1시간 20분 30초 더하기)
DATE_ADD(NOW(), INTERVAL '5-2' YEAR_MONTH) -- 2025-09-13 19:26:37 (5년 2개월 더하기)
#DATE_SUB 는 빼기
FROM DUAL
반응형
'나는야 데이터사이언티스트 > SQL' 카테고리의 다른 글
[MySQL/Oracle]테이블 & 컬럼 코멘트(comment) 조회 및 추가하기 (0) | 2020.09.17 |
---|---|
[MySQL]information_schema란 ? (정의 및 테이블 종류) (5) | 2020.09.03 |
[MySQL/Oracle]데이터베이스의 모든 테이블 권한 주기 (0) | 2020.08.26 |
[MySQL/Oracle]where 절에서 IF문 사용하기 (0) | 2020.08.13 |
[MySQL/Oracle]오라클로 substring_index 사용하기 (0) | 2020.07.30 |