데이터를 다루다 보면 컬럼의 값이 문자열로 저장되어 있지만 실제로는 숫자처럼 다뤄야 할 때가 있습니다. 이럴 때 사용하는 함수가 바로 **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 → 소수 포함한 숫자 변환.
- 문자열로 저장된 숫자값을 정렬/계산할 때 매우 유용.
👉 실무에서 데이터를 다룰 때, 특히 엑셀처럼 문자열로 들어온 숫자값을 정리할 때 꼭 알아두면 좋은 함수입니다.
'컴퓨터 과학 > 데이터 베이스' 카테고리의 다른 글
| MySQL CONCAT 함수 사용하기 (0) | 2025.08.17 |
|---|---|
| MySQL COALESCE 함수 사용하기 (0) | 2025.08.17 |
| SQL 조건문에서 흔히 하는 실수 2가지 (1) | 2025.08.17 |
| MySQL 날짜 관련 함수 정리 (1) | 2025.08.17 |
| SQL IN 구문 알아보기 (1) | 2025.08.17 |