본문 바로가기
  • BLG-ZYNGIROK-모토-꿈꾸며-배우고-나누며-이루다
ICT/SQL

SQL 문법 | 데이터 타입 변환 함수 | CAST

by dazwischen 2021. 9. 29. 15:03
반응형

데이테는 각각 어떤 한 타입으로 정해져 있다. 사람이 보기에 같은 모습이어도 타입이 다르다면 함께 다룰 수가 없을 수 있다. 이럴 때 SQL에서는 데이터 타입을 변경하는 함수 CAST를 사용한다. 본 포스트에서는 CAST에 대해서 알아볼 것이다.

CAST

sql cast thumbnail image
CAST

01 CAST란

직관적으로 CAST란 단어를 이해하면 함수이름을 기억하기 훨씬 간단하다. CAST는 '주조하다', '주물' 이란 뜻을 갖고 있다. 주조한다는 것은 어떤 정해진 틀에 물질을 부어서 그 틀이 목적한 모양을 만들어 내는 것이다. 즉 CAST는 데이터 타입의 틀이고 바꾸고 싶은 데이터를 입력하고 목적하는 데이터 타입으로 바꾸도록 하는 틀과 같다고 생각할 수 있다.

02 CAST를 이용해서 데이터 타입을 바꾸는 방법

CAST를 그럼 SQL에서 어떻게 작성하는지 살펴보자. 기본적인 QUERY 작성법은 다음과 같다.

SELECT	CAST('TARGET_DATA' AS WANTED_TYPE)
;

바꿀 데이터를 TARGET_DATA에 바꾸고 싶은 데이터 타입을 WANTED_TYPE에 넣어주면 된다. 아래의 예제를 살펴보면 어렵지 않다는 것을 알 수 있다. 칼럼 내의 모든 데이터 타입을 변경하고 싶을 때는 TARGET_DATA에 따옴표 (QUOTES, ') 없이 칼럼 이름을 작성해 주면 된다.

EXAMPLE

DOUBLE (실수) 형인 100.00을 INTEGER (정수) 로 바꾸기.

SELECT	CAST('100.00' AS INTEGER)
;

문자열을 실수형으로 바꾸기.

SELECT ('36.5' AS DOUBLE PRECISION)
;

문자열을 데이트(날짜) 타입으로 바꾸기.

 

SELECT	CAST('2021-09-29' AS DATE)
;

 

03 CAST를 이용한 연산

SEELCT문에서 CAST를 사용한 후 바로 연산도 가능하다.

SELECT	CAST('TARGET_DATA1' AS WANTED_TYPE) * CAST('TARGET_DATA2' AS WANTED_TYPE) AS COL_NAME
;

 

EXAMPLE

수능 국영수 등급을 실수형 데이터 타입으로 변경 후 등급합을 TOTAL이라는 이름의 칼럼으로 보여주세요.

SELECT	SAT_KOREAN, SAT_MATHE, SAT_ENGLISH,
	CAST(SAT_KOREAN AS DOUBLE PRECISION)+CAST(SAT_MATHE AS DOUBLE PRECISION)+CAST(SAT_ENGLISH AS DOUBLE PRECISION) AS TOTAL
FROM	SAT2021
;

SUMMARY

  • CAST는 SQL에서 데이터 타입을 바꿀 때 사용하는 함수 중 하나이다.
  • 데이터 타입 변환 시 CAST('TARGET_DATA' AS WANTED_TYPE)의 방식으로 작성한다.
  • 컬럼칼럼 전체의 데이터 타입을 변경하고 싶다면 TARGET_DATA 자리에 따옴표 (QUOTES, ') 없이 칼럼 이름을 적어주면 된다.

* 오타 및 잘못된 내용이 있다면 댓글로 알려주세요!

반응형

댓글