MySQL에서 문자열을 다룰 때 사용할 수 있는 연산자들을 정리해볼게!
CONCAT()NULL 값이 포함되면 결과도 NULL.SELECT CONCAT('Hello', ' ', 'World') AS result;
-- 출력: Hello World
= (같음)SELECT * FROM users WHERE username = 'john';
!= 또는 <> (다름)SELECT * FROM users WHERE username <> 'admin';
LIKE (패턴 비교)%, _)% → 0개 이상 문자 매칭_ → 정확히 한 문자 매칭SELECT * FROM users WHERE username LIKE 'J%'; -- 'J'로 시작하는 모든 문자열
SELECT * FROM users WHERE username LIKE '_ohn'; -- 'John', 'john' 매칭 가능
NOT LIKESELECT * FROM users WHERE username NOT LIKE '%test%';
CHAR_LENGTH() / LENGTH()CHAR_LENGTH(): 문자 개수(유니코드 기준)LENGTH(): 바이트 길이(UTF-8에서는 한글 3바이트)SELECT CHAR_LENGTH('안녕') AS char_len; -- 2
SELECT LENGTH('안녕') AS byte_len; -- 6 (UTF-8 기준)
SUBSTRING() 또는 SUBSTR()SELECT SUBSTRING('MySQL Tutorial', 1, 5); -- 'MySQL'
SELECT SUBSTRING('MySQL Tutorial', -8, 8); -- 'Tutorial'
UPPER() & LOWER() (대소문자 변환)SELECT UPPER('hello'); -- 'HELLO'
SELECT LOWER('WORLD'); -- 'world'
REPLACE()SELECT REPLACE('Hello World', 'World', 'MySQL'); -- 'Hello MySQL'
TRIM() (공백 제거)SELECT TRIM(' MySQL '); -- 'MySQL'
| 연산자/함수 | 설명 |
|---|---|
CONCAT() | 문자열 연결 |
= / <> | 문자열 비교 |
LIKE / NOT LIKE | 패턴 매칭 (%, _ 사용) |
CHAR_LENGTH() | 문자 개수 반환 |
LENGTH() | 바이트 길이 반환 |
SUBSTRING() | 문자열 일부 추출 |
UPPER() / LOWER() | 대소문자 변환 |
REPLACE() | 특정 문자열 변경 |
TRIM() | 앞뒤 공백 제거 |