데이테는 각각 어떤 한 타입으로 정해져 있다. 사람이 보기에 같은 모습이어도 타입이 다르다면 함께 다룰 수가 없을 수 있다. 이럴 때 SQL에서는 데이터 타입을 변경하는 함수 CAST를 사용한다. 본 포스트에서는 CAST에 대해서 알아볼 것이다.
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, ') 없이 칼럼 이름을 적어주면 된다.
* 오타 및 잘못된 내용이 있다면 댓글로 알려주세요!
'ICT > SQL' 카테고리의 다른 글
SQL 초보가 두 달만에 SQLD 합격한 방법 (0) | 2021.10.01 |
---|---|
SQL 문법 | 순위 함수 | RANK, DENSE_RANK, ROW_NUMBER (0) | 2021.09.30 |
SQL 문법 | 데이터 조회 및 필터 | 재귀쿼리 RECURSIVE QUERY (0) | 2021.09.26 |
[SQL] SQLD SQLP 결과발표일 및 확인방법 (0) | 2021.09.23 |
SQL 문법 | 데이터 조회 및 필터 | WITH (0) | 2021.09.22 |
댓글