Language/SQL

[MYSQL] 숫자, 문자열, 날짜시간 변환하기 CAST함수

멱군 2023. 3. 14. 10:51

최근 웹 개발을 하면서 데이터 형태를 다루는 작업이 빈번히 이루어졌습니다. 특히 데이터베이스에서 데이터 유형을 변환하는 것은 꽤나 중요한 작업 중 하나입니다. 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 함수의 사용법을 잘 알고 있어야 효율적으로 작업을 수행할 수 있습니다.

 

함께보면 좋은글

 

[MYSQL] 검색결과 값 합치기 (select, CONCAT, GROUP_CONCAT)

MySQL에서 데이터 조작과 관련된 작업을 할 때 종종 여러 컬럼의 값들을 하나로 합치거나, 여러 행의 값을 하나의 행으로 합치는 작업을 필요로 합니다. 이럴 때 유용하게 쓰이는 함수들이 바로 CO

devit.koreacreatorfesta.com