컴퓨터 과학/데이터 베이스

MySQL CAST() 함수 – 데이터 타입 변환하기

Data Jun 2025. 8. 17. 17:50

데이터를 다루다 보면 컬럼의 값이 문자열로 저장되어 있지만 실제로는 숫자처럼 다뤄야 할 때가 있습니다. 이럴 때 사용하는 함수가 바로 **CAST()**입니다.

 

CAST()란?

  • **CAST = “틀을 만들다”, “틀을 정하다”**라는 의미의 영어 단어.
  • 프로그래밍에서 변수의 데이터 타입을 변환할 때 자주 쓰이는 개념입니다.
  • SQL에서도 동일하게, 특정 컬럼의 값을 일시적으로 다른 타입으로 변환할 때 사용합니다.

 

기본 문법

CAST(값 AS 데이터타입)

즉, 값을 지정한 데이터 타입으로 변환해서 사용하겠다는 의미입니다.

 

예제 1: 숫자로 변환하기

아래 SQL을 보겠습니다.

SELECT * CAST(data AS SIGNED)
FROM sample_table;

여기서 data 컬럼은 원래 문자열(TEXT)로 저장된 값일 수 있지만,
CAST(data AS SIGNED)라고 쓰면 SIGNED 정수형으로 변환하여 처리됩니다.

  • SIGNED: 양수와 음수를 모두 표현할 수 있는 정수 타입.
  • 실행 결과는, 컬럼의 타입이 원래 INT였을 때와 동일하게 숫자로 계산되고 정렬됩니다.

 

예제 2: 문자열 → 소수(DECIMAL) 변환

만약 문자열 형태로 저장된 값이 소수점을 포함한다면, SIGNED 대신 DECIMAL 타입으로 변환해야 합니다.

SELECT CAST(data AS DECIMAL(10,2))
FROM sample_table;

이렇게 하면 '123.45' 같은 문자열도 숫자형 소수로 변환되어 계산할 수 있습니다.

 

정리

  • CAST() 함수는 컬럼 값의 데이터 타입을 일시적으로 변환할 때 사용.
  • SIGNED → 정수 변환 (양수/음수 가능).
  • DECIMAL → 소수 포함한 숫자 변환.
  • 문자열로 저장된 숫자값을 정렬/계산할 때 매우 유용.

👉 실무에서 데이터를 다룰 때, 특히 엑셀처럼 문자열로 들어온 숫자값을 정리할 때 꼭 알아두면 좋은 함수입니다.