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
반응형
'💾 Data > SQL' 카테고리의 다른 글
[MySQL] Prepared Statement (0) | 2025.01.07 |
---|---|
[MySQL] 프로시저에서의 매개 변수(IN, OUT, IN OUT) (1) | 2024.12.11 |
[MySQL] 프로시저 변수(DECLARE, SET)에 대한 이해 (0) | 2024.12.10 |
[MySQL] 실행중인 쿼리 확인하기 (0) | 2024.12.02 |
[MySQL] JSON_TABLE(), JSON_ARRAY() (2) | 2024.09.23 |