👉 날짜 포맷 변환
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') FROM DUAL;
👉 하루 뒤 날짜 구하기
SELECT TO_CHAR(SYSDATE +1, 'YYYYMMDD') FROM DUAL;
👉 7일 뒤 날짜 구하기
SELECT TO_CHAR(SYSDATE +7, 'YYYYMMDD') FROM DUAL;
👉 현재 시간을 특정 포맷으로 변경
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD HH:mm:ss') FROM DUAL; --현재일 시분초
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD) FROM DUAL; --현재일
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD) FROM DUAL; --현재일
SELECT TO_CHAR(SYSDATE, 'HH:mm:ss') FROM DUAL; --시분초
SELECT TO_CHAR(SYSDATE, 'hh24:mi:ss') FROM DUAL; --시분초(24시간제)
👉 String(문자) 타입을 Date로 변환
select to_date('2024-01-31', 'YYYY-MM-DD'),
to_date('2024/01/31', 'YYYY/MM/DD'),
to_date('31/01/2024', 'DD/MM/YYYY'),
to_date('24-11월-2024', 'DD-Mon-YYYY'),
to_date('11월', 'Mon')
from dual;
🧙 응용
👉 CSV로 DB에 집어넣으면 '31/1/2024' 이렇게 들어갈 때도 있습니다 = ㅅ =
/를 기준으로 Oracle Tokenize를 진행하시면 됩니다.
참고로, 저의 경우 월에 0이 붙어있지 않아 날짜 포맷 변환이 불가능하였습니다.
때문에, 1~9월인 경우 왼쪽에 0을 붙이는 로직을 구현하였습니다.
SELECT
REGEXP_SUBSTR('31/1/2024', '[^/]+', 1, 3) || LPAD(REGEXP_SUBSTR('31/1/2024', '[^/]+', 1, 2), 2, '0') || LPAD(REGEXP_SUBSTR('31/1/2024', '[^/]+', 1, 1), 2, '0') AS result
from dual
If I was of any help to you, please buy me coffee 😿😢😥
If you have any questions, please leave them in the comments
[2] Ads : https://play.google.com/store/apps/details?id=io.cordova.seoulfilter