💾 Data/SQL

[MySQL] 문자열 다루기

heywantodo 2025. 1. 17. 15:42
728x90
반응형

[MySQL] 문자열 다루기

MySQL에서 문자열 데이터를 처리해야 할 때가 종종히 발생하는데, MySQL은 강력한 문자열 처리 기능을 제공한다.

이번 포스팅에선 MySQL에서 자주 사용하는 문자열 함수와 쿼리 예제를 알아보자.

 

문자열 결합 CONCAT() 

MySQL에선 `CONCAT()` 함수를 사용해서 여러 문자열을 결합할 수 있다.

-- 성과 이름을 결합한다.

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

 

문자열 길이 확인 LENGTH()

`LENGTH()` 함수는 문자열의 바이트 길이를 반환하며, `CHAR_LENGTH()`는 실제 문자 개수를 반환한다.

-- 문자열 길이에 따른 필터링
SELECT name
FROM products
WHERE CHAR_LENGTH(name) > 10;

 

문자열 자르기 SUBSTRING()

`SUBSTRING()` 또는 `SUBTR()` 함수는 문자열에서 특정 위치부터 원하는 길이만큼 잘라낸다.

-- 도메인 이름 추출
SELECT SUBSTRING(email, INSTR(email, '@')+1) AS domain
FROM users;

 

문자열 찾기 LOCATE(), INSTR()

`LOCATE()` 또는 `INSTR()` 함수는 특정 문자열이 위치하는 인덱스를 반환한다.

-- 특정 단어 포함 여부 확인
SELECT name
FROM articles
WHERE LOCATE('MySQL', content) > 0;

 

문자열 대체 REPLACE()

`REPLACE()` 함수는 문자열 내 특정 단어를 다른 단어로 대체한다.

UPDATE comments 
SET content = REPLACE(content, 'badword', '****');

 

문자열 공백 제거 TRIM()

  • `TRIM()` : 양쪽 공백 제거
  • `LTRIM()` : 왼쪽 공백 제거
  • `RTRIM()` : 오른쪽 공백 제거
SELECT TRIM('   MySQL   ') AS trimmed;
-- 결과: MySQL

 

문자열 패턴 검색

`LIKE` 연산자와 와일드카드를 활용하면 특정 패턴의 문자열을 검색할 수 있다.

  • `%` : 0개 이상의 임의의 문자
  • `_` : 1개 이상의 임의의 문자
SELECT name 
FROM products 
WHERE name LIKE '%phone%';

 

문자열 반복하기 REPEAT()

`REPEAT()` 함수는 문자열을 지정한 횟수만큼 반복한다.

SELECT REPEAT('MySQL', 3) AS repeated;
-- 결과: MySQLMySQLMySQL

 

문자열 뒤집기 REVERSE()

`REVERSE()` 함수는 문자열을 뒤집는다.

SELECT REVERSE('MySQL') AS reversed;
-- 결과: LQSMy

 

728x90
반응형