☑️ 오라클에서는 자동형변환이 잘 작동한다.
➡️ 문자 : CHAR, VARCHAR2, NCHAR, NVARCHAR2 -> 자바의 String 과 동일
➡️ 숫자 : NUMBER
➡️ 날짜 : DATE, TIMESTAMP
➡️ 날짜를 문자형으로 변경하기 :
날짜값을 기호로 표시 → Y : 년, M : 월, D : 일, H : 시, MI : 분, SS : 초
SELECT SYSDATE,
TO_CHAR(SYSDATE,'YYYY.MM.DD'),
TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;
👉 패턴에 맞춰서 변환 → 자리수를 어떻게 표현할지 선택
👉 0 : 변환 대상 값의 자리수가 지정한 자리수와 일치하지 않을 때, 값이 없는 자리에 0을 표시하는 패턴
👉 9 : 변환 대상 값의 자리수가 지정한 자리수와 일치하지 않을 때, 값이 없는 자리에 공백을 넣는 패턴
❗ 통화를 표시하고 싶을 때는 L을 표시한다.
❗ FM을 사용하면 공백이 제거된다.
SELECT 1234567,
TO_CHAR (1234567, '000,000,000'),
TO_CHAR (1234567, 'FML999,999,999'),
TO_CHAR(500, 'L999,999')
FROM DUAL;
SELECT 1000000+1000000,
TO_NUMBER ('1,000,000','999,999,999')+1000000,
TO_CHAR (TO_NUMBER ('1,000,000','999,999,999')
+1000000,'FML999,999,999')
FROM DUAL;
SELECT TO_DATE ('23/12/25', 'YY,MM,DD') - SYSDATE,
TO_DATE ('241225','YYMMDD'),
TO_DATE ('25-12-25', 'YY-MM-DD')
FROM DUAL;
SELECT TO_DATE (20230405, 'YYYYMMDD'),
TO_DATE (230505,'YYMMDD'),
TO_DATE (TO_CHAR(000224,'000000'),'YYMMDD') -- 앞에 0이 들어가면 X
FROM DUAL;