Oracle CONVERT 설명 : 오라클 함수
* 주의 : 12C 이상에서는 사용을 권장하지 않음
1. 함수의 목적
Oracle CONVERT는 입력받은 스트링을 다른 문자셋으로 변경한다.
2. 샘플을 통한 개념 퀵뷰
SELECT CONVERT('Ä Ê Í Õ Ø A B C D E ', 'US7ASCII', 'WE8ISO8859P1')
FROM DUAL;
CONVERT('ÄÊÍÕØABCDE'
---------------------
A E I ? ? A B C D E ?
3. 사용방법
4. 함수 PARAMETER 설명
[char]
케릭터셋을 변환할 문자열을 입력한다.
CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB 등의 데이터타입이 올 수 있다.
[dest_char_set]
[char] 인수로 받은 스트링을 어떤 케릭터셋으로 변경할 것인지 정의한다.
[source_char_set]
[char] 인수는 데이터베이스에 어떤 케릭터셋으로 저장되어 있는지 입력한다.
* 여기서 잠깐 : 데이터베이스의 케릭터 셋은 아래 쿼리를 조회 가능하다.
SELECT * FROM V$NLS_VALID_VALUES WHERE parameter = 'CHARACTERSET';
반환값의 데이터타입은 [char]의 데이터 타입에 따라 달라지며, 아래와 같다.
- CHAR, VARCHAR2 : VARCHAR2로 반환
- NCHAR, NVARCHAR2 : NVARCHAR2로 반환
- COL, NCLOB : NCLOB로 반환
5. 다양한 샘플표현
example1) 퀵샘플의 문자열을 'KO16KSC5601'케릭터셋으로 바꾼다.
SELECT CONVERT('Ä Ê Í Õ Ø A B C D E ', 'KO16KSC5601')
FROM DUAL;
CONVERT('AEIOØABCDE','KO16KSC5601')
------------------------------------------
A E I O ?? A B C D E