개발이좋아

[Oracle] 형 변환 함수 (type conversion function) 본문

DataBase

[Oracle] 형 변환 함수 (type conversion function)

noobdev 2020. 2. 23. 15:09

오라클에는 자료의 자료형(Data Type)을 바꿔주는 함수가 있다.

숫자나 날짜 데이터를 문자 데이터로 문자형(CHAR) 데이터는 숫자형(NUMBER) 데이터나 날짜형(DATE) 데이터로 변환이 가능하다.

즉 문자형 데이터를 중심으로 숫자형과 날짜형 데이터로의 변환이 가능한 것이다.

그 외에 숫자로 구성된 문자형 데이터 (EX '10')와 숫자형 데이터를 연산 시 자동으로 숫자형 데이터로 변환되는

묵시적 또는 암시적 형 변환(implicit type conversion)이 있다.

 

형 변환 함수  참고 : Do it! 오라클로 배우는 데이터베이스 입문

종류 설명
TO_CHAR 숫자 또는 날짜 데이터를 문자 데이터로 변환
TO_NUMBER 문자 데이터를 숫자 데이터로 변환
TO_DATE 문자 데이터를 날짜 데이터로 변환

 


TO_CHAR

TO_CHAR 함수는 숫자 또는 날짜 데이터를 문자 데이터로 변환하는 함수이다.

주로 날짜 데이터를 문자 데이터토 변환한데 많이 사용하며 기본형은 아래와 같다.

 

TO_CHAR([날짜 데이터(필수)], '[출력되길 원하는 문자 형태(필수)'])  - TO_CHAR 기본 형

출력되길 원하는 문자 형태는 아래 주소의 오라클에서 제공하는 포맷 형태를 참고하면 된다.

 

https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#SQLRF00210

 

Format Models

The total length of a datetime format model cannot exceed 22 characters. The default datetime formats are specified either explicitly with the NLS session parameters NLS_DATE_FORMAT, NLS_TIMESTAMP_FORMAT, and NLS_TIMESTAMP_TZ_FORMAT, or implicitly with the

docs.oracle.com

(Oracle 11g format Models)

 

 

TO_CHAR 함수 예제

 

TO_CHAR 함수 예제 결과

위 사진의 SQL문은 현재 날짜 데이터를 YYYY/MM/DD HH24:MI:SS 포맷 형태의 문자 데이터로 바꾸어 출력한 예제이다.

YYYY/MM/DD는 4자리 수 연도와  2 자릿수 월, 2자리 수 일을 나타내며 HH24:MI:SS는 각각 시, 분, 초를 나타낸다.

 


TO_NUMBER

TO_NUMBER 함수는 문자형 데이터를 숫자형 데이터로 변환할 때 사용하는 함수이다.

 

TO_NUMBER('[문자열 데이터(필수)]', [인식될 숫자 형태(필수)]')   - TO_NUMBER 기본 형

 

TO_NUMBER 함수 예제

 

TO_NUMBER 함수 예제 결과

 

위 사진의 예제는 '1,300'과 '1,500' 이라는 문자형 데이터를 '999,999' 포맷으로 하는 숫자 데이터로 변경하여 그 값들의 빼기 연산을 한 SQL문이다.

 

여기서 '999,999' 포맷의 9는 숫자 한자리를 의미하며 빈자리 수는 채우지 않는다.

만약 포맷으로 '0000'의 데이터가 오면 빈 자리를 0으로 채운다.

 

포맷 형식  참고 : Do it! 오라클로 배우는 데이터베이스 입문

형식 설명
9 숫자의 한 자리를 의미(빈 자리를 채우지 않음)
0 빈 자리를 0으로 채움을 의미
$ 달러($) 표시를 붙여 출력
L L(Locale) 지역 화폐 단위 기호를 붙여서 출력
. 소수점을 표시
, 천 단위의 구분 기호를 표시

 


 

T0_DATE

TO_DATE 함수는 문자형 데이터를 날짜형 데이터로 변환해주는 함수이다.

 

TO_DATE('[문자열 데이터(필수)]', '[인식될 날짜 형태(필수)]')   - TO_DATE 기본 형

 

TO_DATE 함수 예제

 

TO_DATE 함수 예제 결과

위 사진의 예제는 '2020-02-20'과 '20200220' 이라는 문자열 데이터를 'YYYY-MM-DD' 형태의 날짜 데이터로 변환하는 예제이다. 

결과는 둘 다 같은 결과가 출력된다.

 

 

 

본 포스팅은 필자가 공부한 내용을 정리한 것으로 오류가 존재할 수 있습니다.
참고: Do it! 오라클로 배우는 데이터베이스 입문
Do it! 오라클로 배우는 데이터베이스 입문
국내도서
저자 : 이지훈
출판 : 이지스퍼블리싱 2018.10.30
상세보기

'DataBase' 카테고리의 다른 글

[Oracle] 테이블의 데이터를 수정하는 UPDATE문  (0) 2020.02.26
NVL과 NVL2  (0) 2020.02.24
[Oracle] 자체 조인 (self join)  (0) 2020.02.22
[Oracle] 날짜 데이터 처리 함수(DATE TYPE FUNCTION)  (0) 2020.02.21
[Oracle] ORA-00937  (0) 2020.02.20
Comments