데이터베이스에서 문자열 처리는 매우 자주 발생하는 작업입니다. MySQL은 이를 위해 다양한 문자열 함수를 제공하며, 이 함수를 잘 활용하면 데이터 가공과 검색 속도를 동시에 향상시킬 수 있습니다.
1) CONCAT – 문자열 합치기
CONCAT()
함수는 여러 문자열을 하나로 합칩니다.
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM users;
결과: first_name
과 last_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 문자열 함수는 데이터 표시, 검색, 가공에 필수적입니다. 단순히 조회하는 데 그치지 않고, 필요한 형태로 가공해 비즈니스 로직에 맞게 활용하면 쿼리 후처리를 줄이고 성능을 높일 수 있습니다.
'개발 > DB' 카테고리의 다른 글
MySQL에서 데이터를 삽입하고 수정하는 방법 (0) | 2025.08.21 |
---|---|
MySQL에서 날짜와 시간 관련 함수 사용법 (0) | 2025.08.20 |
MySQL에서 EXPLAIN 명령어로 쿼리 성능 분석 (2) | 2025.08.18 |
MySQL에서 LIMIT와 OFFSET을 사용한 페이지네이션 (1) | 2025.08.17 |
MySQL 트랜잭션 격리 수준(ISOLATION LEVEL) 이해하기 (2) | 2025.08.16 |