본문 바로가기

DB/ORACLE

형 변환 함수 TO_CHAR

형 변환 함수는 다음과 같다. 

 

TO_CHAR      날짜 또는 숫자를 문자로 변환

TO_DATE       문자형을 날짜로 변환

TO_NUMBER  문자형을 숫자로 변환

 


근데 내가 헤맨것은 TO_CHAR이니 이것만 알아보자.

위에 써진 것처럼 날짜를 문자로, 또는 숫자를 문자로 변환하는 기능이 있는데

먼저 날짜를 문자로 변환하는 걸 알아보자.

 

날짜에 TO_CHAR를 쓰게 되면

DATE 형태의 데이터를 VARCHAR2 형태로 변환함과 동시에 출력 형식을 지정할 수 있다.

MON이나 DY, HH24, MI, SS 같은 것들로.

 

SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MON-DD')
FROM EMP;

>>현재시간을 캐릭터로 변환함과 동시에 'YYYY-MON-DD' 형식으로 출력함.

 

 

다음으로 숫자를 문자로 변환하는 기능인데 이건 여태 써본적이 없음.

0과 9,L 정도만 알아두면 될듯.

 

              0     자릿수를 나타내며 자릿수가 맞지 않을 경우 0으로 채움                                                         

              9     자릿수를 나타내며 자릿수가 맞지 않아도 안채움                                                                      

               L     은 뭐냐면 각 지역별 통화 기호를 앞에 표시한대.

 

SELECT TO_CHAR(12345,'0000000'), TO_CHAR(12345,'9999999')
FROM DUAL;

여기서 의문점이 들 수 있다. 0이나 9의 갯수가 12345의 자릿수보다 적으면 어케되냐고.

당연히 오류가 뜬다.

+자릿수를 구분하는 반점 사용 가능