[Oracle] 형변환 함수

라라·2023년 4월 3일
0

Oracle

목록 보기
7/16

📂 형변환 함수

☑️ 오라클에서는 자동형변환이 잘 작동한다.

➡️ 문자 : CHAR, VARCHAR2, NCHAR, NVARCHAR2 -> 자바의 String 과 동일
➡️ 숫자 : NUMBER
➡️ 날짜 : DATE, TIMESTAMP

➡️ 날짜를 문자형으로 변경하기 :
날짜값을 기호로 표시 → Y : 년, M : 월, D : 일, H : 시, MI : 분, SS : 초


📍 숫자, 날짜를 문자형으로 변경하기 ( TO_CHAR )

SELECT SYSDATE,
TO_CHAR(SYSDATE,'YYYY.MM.DD'),
TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;



📍 숫자를 문자형으로 변경하기 ( TO_CHAR )

👉 패턴에 맞춰서 변환 → 자리수를 어떻게 표현할지 선택
👉 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;



📍 문자를 숫자형으로 변경하기 ( TO_NUMBER )

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;



📍 숫자, 문자를 날짜로 변경하기 ( TO_DATE )

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;

profile
코딩하는 라라 :)

0개의 댓글