반응형
MySQL에서 데이터 타입 간 변환은 매우 중요한 작업입니다.
때로는 자동 형변환이 되지 않아 명시적인 형변환이 필요할 수 있습니다.
MySQL은 이를 위해 다양한 형변환 함수를 제공하고 있습니다.
이번 포스트에서는 MySQL의 대표적인 형변환 함수들을 살펴보고 그 활용 방법을 알아보겠습니다.
1. CAST()
- 가장 일반적인 형변환 함수
- CAST(expression AS data_type) 형식으로 사용
- 숫자, 문자열, 날짜/시간 등 다양한 데이터 타입으로 변환 가능
SELECT CAST('123' AS SIGNED) AS num; -- 문자열을 정수형으로 변환
SELECT CAST(NOW() AS CHAR) AS current_time; -- 현재 시간을 문자열로 변환
2. CONVERT()
- CAST()와 유사한 기능
- CONVERT(expression, data_type) 형식으로 사용
- 일부 데이터 타입에서만 사용 가능
SELECT CONVERT('123', SIGNED) AS num; -- 문자열을 정수형으로 변환
SELECT CONVERT(NOW(), CHAR) AS current_time; -- 현재 시간을 문자열로 변환
3. CONCAT_WS()
- 여러 문자열을 하나의 문자열로 병합
- 구분자를 지정하여 문자열 사이에 삽입
- CONCAT_WS(separator, str1, str2, ...) 형식으로 사용
SELECT CONCAT_WS('-', 'www', 'example', 'com') AS url; -- 'www-example-com'
SELECT CONCAT_WS(' ', first_name, last_name) AS full_name FROM users;
4. REPLACE()
- 문자열 내의 특정 문자를 다른 문자로 대체
- REPLACE(str, from_str, to_str) 형식으로 사용
SELECT REPLACE('2023-04-01', '-', '/') AS date_format; -- '2023/04/01'
SELECT REPLACE(email, '@example.com', '') AS username FROM users;
5. CAST() vs CONVERT()
- CAST()와 CONVERT()는 대부분의 경우 동일하게 동작
- 일부 데이터 타입에서만 CONVERT()를 사용할 수 있는 차이가 있음
- 일반적으로는 CAST()를 더 많이 사용
형변환 함수를 활용하면 데이터 타입 불일치로 인한 문제를 해결할 수 있습니다.
예를 들어 숫자 데이터를 문자열로 변환하여 서식 있는 출력을 만들거나, 문자열을 숫자로 변환하여 계산 작업을 수행할 수 있습니다.
이러한 형변환 기능은 데이터 처리, 쿼리 최적화, 보고서 생성 등 다양한 상황에서 유용하게 활용될 수 있습니다.
적절한 형변환 함수를 선택하고 활용하면 SQL 쿼리의 유연성과 효율성을 높일 수 있습니다.
반응형
'Database > MySQL' 카테고리의 다른 글
MySQL의 숫자 함수 활용하기 (0) | 2024.04.09 |
---|---|
MySQL의 문자열 함수 활용하기 (0) | 2024.04.06 |
MySQL의 Window 함수 활용하기 (0) | 2024.04.06 |
MySQL 집계 함수 (Aggregate Functions) (0) | 2024.04.06 |
MySQL Stored Procedure (0) | 2024.03.13 |