MySQL CAST() 함수란?
MySQL에서 CAST() 함수는 특정 값의 데이터 타입을 원하는 타입으로 변환할 때 사용하는 함수입니다. 예를 들어 DATE 타입의 값을 CHAR(문자열) 타입으로 바꾸거나, 문자열을 숫자로 변환해야 할 때 유용하게 활용됩니다.
이번 글에서는 실제 테이블을 만들고 데이터를 삽입한 뒤, SELECT 문에서 CAST() 함수를 올바르게 사용하는 방법을 단계별로 살펴보겠습니다.
1단계: 테이블 생성하기
먼저 배송 날짜(ShippingDate)를 저장할 테이블을 생성합니다.
mysql> create table castFunctionDemo
-> (
-> ShippingDate date
-> );
Query OK, 0 rows affected (0.74 sec)
테이블이 정상적으로 생성되었습니다.
2단계: INSERT 문으로 데이터 삽입하기
이제 insert 명령어를 사용해 몇 개의 날짜 데이터를 테이블에 추가합니다.
mysql> insert into castFunctionDemo values('2019-01-31');
Query OK, 1 row affected (0.20 sec)
mysql> insert into castFunctionDemo values('2018-07-12');
Query OK, 1 row affected (0.16 sec)
mysql> insert into castFunctionDemo values('2016-12-06');
Query OK, 1 row affected (0.16 sec)
mysql> insert into castFunctionDemo values('2017-08-25');
Query OK, 1 row affected (0.19 sec)총 4개의 날짜 데이터가 성공적으로 입력되었습니다.
3단계: SELECT 문으로 전체 데이터 조회하기
select 문을 이용해 테이블에 저장된 모든 레코드를 확인해 보겠습니다.
mysql> select * from castFunctionDemo;
실행 결과는 다음과 같습니다.
+--------------+
| ShippingDate |
+--------------+
| 2019-01-31 |
| 2018-07-12 |
| 2016-12-06 |
| 2017-08-25 |
+--------------+
4 rows in set (0.00 sec)
4단계: SELECT 문에서 CAST() 함수 적용하기
이제 핵심 단계입니다. 아래 쿼리처럼 SELECT 문 안에서 CAST() 함수를 사용하면 DATE 타입인 ShippingDate 컬럼을 CHAR(12) 문자열 타입으로 변환할 수 있습니다.
mysql> select CAST(ShippingDate AS CHAR(12)) as Conversion FROM castFunctionDemo;
변환된 결과는 다음과 같습니다.
+------------+
| Conversion |
+------------+
| 2019-01-31 |
| 2018-07-12 |
| 2016-12-06 |
| 2017-08-25 |
+------------+
4 rows in set (0.00 sec)
CAST() 함수 사용 시 참고 사항
- AS 키워드 필수: CAST(컬럼명 AS 변환할_타입) 형태로 작성하며, AS 뒤에 목표 데이터 타입을 명시합니다.
- 지원되는 주요 타입: CHAR, SIGNED, UNSIGNED, DATE, DATETIME, TIME, DECIMAL, BINARY 등이 있습니다.
- 별칭(Alias) 활용: 위 예제처럼 'as Conversion'을 붙이면 결과 컬럼의 이름을 깔끔하게 표시할 수 있습니다.
이처럼 MySQL의 CAST() 함수를 활용하면 SELECT 문에서 손쉽게 데이터 타입을 변환하여 원하는 형식으로 결과를 조회할 수 있습니다.