본문 바로가기
컴소니/DB

[오라클 DBMS 공부] 날짜를 문자로, 문자를 숫자로 형변환

by 금소니 2020. 7. 30.
반응형

#98

데이터를 조회하다보면 데이터 타입을 변경하여 사용해야할 경우가 있습니다.

 

시스템에서 내가 원하는 대로 알아서 처리를 해주면 좋겠지만 그렇게 될 수는 없기 때문에 우리가 알아서 변환을 해줘야합니다.

 

보통 테이터를 비교할 때 많이 사용하는데요.

 

형변환을 위한 함수는 어떤게 있고 어떻게 사용하는지 알아보겠습니다.

 

1. 형변환이란?

특정한 데이터 타입을 다른 데이터 타입으로 변환하는 것을 의미합니다.

오라클의 대표적인 데이터 타입은 아래와 같습니다.

 

오라클 DBMS 공부 6일차 - 오라클 DBMS 데이터 타입 정리

#64 1. 데이터 타입이란? 테이블에서 데이터를 저장하는데 있어 컬럼 속성 중 데이터 유형에 대한 정의입니다. 오라클에서는 기본적으로 제공하는 빌트인 데이터 타입이 있고 사용자가 정의하여

goldsony.tistory.com

 

2. 묵시적 형변환

묵시적 형변환이란 DBMS에서 어느정도 데이터 타입을 예상하여 자동으로 변환해주는 것을 의미합니다.

예를 보시면 이해가 빠를 것 같습니다.

 

EX) 문자(CHAR)를 숫자(NUMBER)로 묵시적 형변환

보시면 SALARY 컬럼의 데이터 타입은 숫자(NUBMER)입니다.

하지만 제가 쿼리에 작성한 데이터 타입은 ' '부호를 사용하여 문자(CHAR)로 타입으로 입력하였습니다.

데이터 타입이 다르기 때문에 에러가 발생해야 하지만 DBMS에서 묵시적으로 형변환을 하여 데이터를 출력하였습니다.

이렇게 문자를 숫자로 변환하는 것 뿐만아니라 숫자를 문자, 문자를 날짜 형식으로 등 자동으로 형변환하는 것을 의미합니다.

 

3. 명시적 형변환

명시적 형변환이란 묵시적 형변환의 반대로 형변환 함수를 사용하여 사용자가 직접 형변환을 하는 것을 말합니다.

사실 위의 예처럼 자동으로 변환해주면 굳이 사용할 필요가 있냐고 하지만 간단하게 작성할 때는 괜찮지만 쿼리가 복잡해질 경우 혼란을 야기하거나 에러가 발생할 수 있습니다.

때문에 간단한 쿼리를 작성할 때는 모르겠지만 가급적 명시적 형변환을 사용하여 명시하여 주는게 좋습니다.

그럼 명시적 형변환 함수는 어떤 것이 있는지 알아보겠습니다.

 

1) CAST 함수

기존의 표현 값을 원하는 타입으로 형변환합니다.

 - 사용법 : CAST ( expression AS 변환할 type )

  EX) CAST를 이용한 형변환

  예를 보시면 공통적으로 3.14159라는 값을 숫자로 입력받았지만 다른 숫자타입, 문자 타입으로 변환되었습니다.

 

2) TO_CHAR

특정 데이터를 문자형 데이터 타입으로 형변환합니다.

 - 사용법 : TO_CHAR ( 데이터 ) 혹은 TO_CHAR ( 데이터, 포맷 )

  EX) 숫자를 문자로 형변환

  EX) 날짜를 문자로 변환

   숫자 변환 시 특정 포맷이 있지만 날짜를 문자로 변환 시 날짜에서 사용하는 포맷을 이용하여 문자로 변환할 수 있습니다.

3) TO_NUMBER

특정 데이터를 숫자형 데이터 타입으로 형변환합니다.

 - 사용법 : TO_NUMBER ( 데이터 ), 혹은 TO_NUMBER( 데이터, 포맷)

  EX) 문자를 숫자로 변환

4) TO_DATE

특정 데이터를 날짜형 데이터 타입으로 형변환합니다.

 - 사용법 : TO_DATE ( 데이터, 포맷 )

  EX) 문자를 날짜로 변환

   이 때 주의하셔야할 점은 입력한 문자의 날짜 타입과 일치하게 포맷에 값을 넣어주셔야 합니다.

반응형

댓글