[MYSQL] 숫자, 문자열, 날짜시간 변환하기 CAST함수
최근 웹 개발을 하면서 데이터 형태를 다루는 작업이 빈번히 이루어졌습니다. 특히 데이터베이스에서 데이터 유형을 변환하는 것은 꽤나 중요한 작업 중 하나입니다. MySQL에서는 이런 변환 작업을 위해 CAST 함수를 제공하는데, 숫자, 문자열, 날짜시간 변환하기 CAST함수를 알아보도록 하겠습니다.
MySQL의 CAST 함수란?
MySQL의 CAST 함수는 특정 표현식을 다른 데이터 유형으로 변환할 때 사용됩니다. 주로 문자열을 숫자나 날짜로, 또는 그 반대의 작업을 할 때 유용하게 쓰입니다. 기본 구조는 다음과 같습니다:
CAST(expression AS data_type)
여기서 expression은 변환하려는 값을 의미하며, data_type은 목표로 하는 데이터 유형을 의미합니다.
CAST 함수의 다양한 활용
1. 문자열을 숫자로 변환
가장 흔하게 접하는 경우는 문자열을 숫자로 변환하는 것입니다.
SELECT CAST('123' AS UNSIGNED);
이렇게 사용하면 결과로 정수형 123을 얻을 수 있습니다.
2. 소수점의 제어
문자열 중에서 소수점을 포함한 값을 다룰 때는 DECIMAL 형태로 변환할 수 있습니다. 이때, 소수점 아래의 자릿수도 지정이 가능합니다.
SELECT CAST('3.14159' AS DECIMAL(5,2));
이 쿼리의 결과는 3.14입니다.
3. 문자열을 날짜로 변환
날짜 형태의 문자열을 진짜 날짜 데이터 유형으로 바꾸고 싶을 때도 CAST 함수를 활용할 수 있습니다.
SELECT CAST('2022-03-13' AS DATE);
이렇게 하면, 결과로 'March 13, 2022' 혹은 '2022-03-13'와 같이 출력됩니다.
주의 사항과 대안
물론 모든 경우에 CAST 함수가 완벽하게 작동하는 것은 아닙니다. 예를 들어, 숫자를 문자열로 바꾸려고 할 때 VARCHAR 형식이 잘 안 먹히는 경우가 있습니다. 이런 경우에는 다른 함수, 예를 들면 CONCAT 함수를 활용하여 해결할 수 있습니다.
SELECT CONCAT(123, '');
이렇게 사용하면 숫자 123이 문자열 '123'으로 변환됩니다.
결론
결론적으로, MySQL에서 데이터 유형의 변환은 빈번한 작업 중 하나이며, 이럴 때 CAST 함수는 매우 유용하게 사용됩니다. 따라서 데이터 변환 작업을 할 때는 CAST 함수의 사용법을 잘 알고 있어야 효율적으로 작업을 수행할 수 있습니다.
함께보면 좋은글