MySQL에서 문자열 함수 활용법

데이터베이스에서 문자열 처리는 매우 자주 발생하는 작업입니다. MySQL은 이를 위해 다양한 문자열 함수를 제공하며, 이 함수를 잘 활용하면 데이터 가공과 검색 속도를 동시에 향상시킬 수 있습니다.

 

 

1) CONCAT – 문자열 합치기

CONCAT() 함수는 여러 문자열을 하나로 합칩니다.

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM users;

결과: first_namelast_name을 공백으로 구분해 하나의 컬럼(full_name)으로 반환합니다.

 

 

2) SUBSTRING – 문자열 일부 추출

SUBSTRING()은 특정 위치부터 원하는 길이만큼 문자를 추출합니다.

SELECT SUBSTRING(email, 1, 5) AS email_prefix
FROM users;

결과: 이메일의 앞 5글자만 추출해 보여줍니다.

 

 

3) LENGTH & CHAR_LENGTH – 문자열 길이 확인

LENGTH()는 바이트 단위 길이, CHAR_LENGTH()는 문자 단위 길이를 반환합니다.

SELECT name, LENGTH(name) AS byte_len, CHAR_LENGTH(name) AS char_len
FROM products;

멀티바이트 문자를 포함할 경우 바이트 수와 문자 수가 다를 수 있으니 주의.

 

 

4) REPLACE – 문자열 일부 치환

REPLACE()는 특정 문자열을 다른 문자열로 교체합니다.

SELECT REPLACE(description, '무료', '프리미엄') AS new_desc
FROM items;

결과: description 컬럼에서 '무료'라는 단어를 모두 '프리미엄'으로 변경합니다.

 

 

5) TRIM, LTRIM, RTRIM – 공백 제거

문자열 양쪽 또는 한쪽의 공백을 제거할 때 사용합니다.

SELECT TRIM('   hello   ') AS trimmed,
       LTRIM('   hello') AS left_trimmed,
       RTRIM('hello   ') AS right_trimmed;

데이터 전처리 시 불필요한 공백 제거에 유용합니다.

 

 

6) 문자열 함수 조합 예제

문자열 함수는 조합해서 사용할 수 있습니다.

SELECT CONCAT(
         UPPER(SUBSTRING(first_name, 1, 1)),
         LOWER(SUBSTRING(first_name, 2))
       ) AS formatted_name
FROM users;

결과: 이름의 첫 글자만 대문자로, 나머지는 소문자로 변환합니다.

 

 

MySQL 문자열 함수는 데이터 표시, 검색, 가공에 필수적입니다. 단순히 조회하는 데 그치지 않고, 필요한 형태로 가공해 비즈니스 로직에 맞게 활용하면 쿼리 후처리를 줄이고 성능을 높일 수 있습니다.