πŸ” μ•”μ‹œμ  vs λͺ…μ‹œμ  ν˜•λ³€ν™˜

ꡬ뢄 μ„€λͺ… μ˜ˆμ‹œ
μ•”μ‹œμ  ν˜•λ³€ν™˜ Oracle이 μžλ™μœΌλ‘œ 데이터 νƒ€μž…μ„ λ³€ν™˜ WHERE salary = '5000' β†’ λ¬Έμžμ—΄μ΄ μžλ™μœΌλ‘œ 숫자둜 λ³€ν™˜λ¨
λͺ…μ‹œμ  ν˜•λ³€ν™˜ λ³€ν™˜ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 직접 νƒ€μž… λ³€κ²½ TO_CHAR(hire_date, 'YYYY-MM-DD')TO_DATE('2025-06-01', 'YYYY-MM-DD')TO_NUMBER('123.45')

λͺ…μ‹œμ  ν˜•λ³€ν™˜ ν•¨μˆ˜ μš”μ•½

ν•¨μˆ˜ μ„€λͺ… μ˜ˆμ‹œ
TO_CHAR(date, 'fmt') λ‚ μ§œ β†’ λ¬Έμžμ—΄ TO_CHAR(SYSDATE, 'YYYY-MM-DD')
TO_DATE(str, 'fmt') λ¬Έμžμ—΄ β†’ λ‚ μ§œ TO_DATE('2025-06-01', 'YYYY-MM-DD')
TO_NUMBER(str) λ¬Έμžμ—΄ β†’ 숫자 TO_NUMBER('123.45')

λ‚ μ§œ 포맷 μš”μ†Œ

λ‚ μ§œ κ΄€λ ¨

포맷 의미 μ˜ˆμ‹œ 좜λ ₯
YYYY 연도 4자리 2025
YY 연도 2자리 25
MM μ›” (2자리) 06
MON μ›” μ•½μ–΄ JUN
MONTH μ›” 전체 이름 JUNE
DD 일 (2자리) 24
DY μš”μΌ μ•½μ–΄ MON
DAY μš”μΌ 전체 이름 MONDAY

μ‹œκ°„ κ΄€λ ¨

포맷 의미 μ˜ˆμ‹œ 좜λ ₯
HH μ‹œ (12μ‹œκ°„μ œ) 03
HH24 μ‹œ (24μ‹œκ°„μ œ) 15
MI λΆ„ 07
SS 초 45
AM / PM μ˜€μ „/μ˜€ν›„ PM

예제 SQL μ½”λ“œ

-- λ‚ μ§œλ₯Ό 문자둜 λ³€ν™˜
SELECT first_name,
       TO_CHAR(hire_date, 'MM/YY/DD') AS month_hired,
       hire_date
FROM employees
WHERE first_name = 'Steven';

-- λ¬Έμžμ—΄μ„ λ‚ μ§œλ‘œ λ³€ν™˜
SELECT TO_DATE('2025-06-01', 'YYYY-MM-DD') AS converted_date
FROM dual;

-- λ¬Έμžμ—΄μ„ 숫자둜 λ³€ν™˜
SELECT TO_NUMBER('123.45') AS converted_number
FROM dual;


πŸ” FM이 없을 λ•Œ vs μžˆμ„ λ•Œ

포맷 μ„€λͺ… 좜λ ₯ μ˜ˆμ‹œ
'YYYY"λ…„ MMμ›” DD일"' κΈ°λ³Έ 포맷 (곡백 포함) 2025λ…„ 06μ›” 01일 (← MM, DDλŠ” 항상 2자리)
'FMYYYY"λ…„ MMμ›” DD일"' 연도 μ•ž 곡백 제거 2025λ…„ 06μ›” 01일
'FMYyyy"λ…„" FMMon"μ›”" FMDd"일"' μ•žμžλ¦¬ 0 제거 + 곡백 제거 2025λ…„ 6μ›” 1일

βœ… 예제 비ꡐ