본문 바로가기

Database/MySQL

MySQL의 형변환 함수 활용하기

반응형

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