최근 웹 개발을 하면서 데이터 형태를 다루는 작업이 빈번히 이루어졌습니다. 특히 데이터베이스에서 데이터 유형을 변환하는 것은 꽤나 중요한 작업 중 하나입니다. 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 함수의 사용법을 잘 알고 있어야 효율적으로 작업을 수행할 수 있습니다.
함께보면 좋은글
'Language > SQL' 카테고리의 다른 글
[Mysql] 컬럼값이 "학년/반/번호" 일 때 "/"로 나눈 값을 기준으로 정렬하기 (0) | 2023.03.14 |
---|---|
[MYSQL] SUBSTRING_INDEX() 함수로 구분자 기준(콤마 분리) 분할하기 (0) | 2023.03.14 |
[SQLITE3] datetime 으로 년, 월, 일 시작 날짜 구하기 (0) | 2023.02.08 |
[MYSQL] ERROR errno: 1242 "ER_SUBQUERY_NO_1_ROW" 오류 대처 방법 (0) | 2023.01.06 |
[MYSQL] 같은/다른 테이블에서 원하는 행들 복사 붙여넣기 (2) | 2022.09.14 |