1 분 소요

MySQL 문자열 함수는 데이터베이스에서 문자열을 가공하거나 분석할 때 매우 유용합니다. 이 문서에서는 자주 사용하는 문자열 함수들을 예제와 함께 정리해드립니다.


🔠 1. 문자열 길이 확인 – LENGTH()

SELECT LENGTH('12345678');
-- 결과: 8
  • 바이트 수 기준 반환 (ASCII: 1바이트, UTF-8 한글: 3바이트)

🔗 2. 문자열 결합 – CONCAT()

SELECT CONCAT('Ora', 'cle Cor', 'poration');  -- 'Oracle Corporation'
SELECT CONCAT('Oracle', NULL, 'Corp');       -- NULL
  • NULL 포함 시 결과는 NULL
  • 여러 문자열을 순서대로 연결

🔍 3. 문자열 내 위치 찾기 – LOCATE()

SELECT LOCATE('abc', 'ababcDEFabc');        -- 3
SELECT LOCATE('abc', 'ababcDEFabc', 4);     -- 9
  • 문자열 내 특정 부분 문자열의 위치 반환
  • 위치는 1부터 시작

✂️ 4. 문자열 추출 – LEFT(), RIGHT()

SELECT LEFT('MySQL PHP HTML Java', 5);   -- 'MySQL'
SELECT RIGHT('MySQL PHP HTML Java', 4);  -- 'Java'
  • LEFT(): 왼쪽에서부터 n개 문자 추출
  • RIGHT(): 오른쪽에서부터 n개 문자 추출

🔡 5. 대소문자 변환 – LOWER(), UPPER()

SELECT LOWER('MySQL PHP');  -- 'mysql php'
SELECT UPPER('MySQL PHP');  -- 'MYSQL PHP'
  • 모든 문자를 대/소문자로 변환

🔁 6. 문자열 일부 대체 – REPLACE()

SELECT REPLACE('MySQL', 'My', 'MS ');
-- 결과: 'MS SQL'
  • 첫 번째 문자열에서 특정 문자열을 찾아 새 문자열로 변경

🧹 7. 문자열 공백/문자 제거 – TRIM()

SELECT TRIM('   !!!MySQL PHP HTML Java!!!    ');
-- 결과: '!!!MySQL PHP HTML Java!!!'

SELECT TRIM(LEADING '!' FROM '!!!MySQL PHP HTML Java!!!');
-- 결과: 'MySQL PHP HTML Java!!!'
  • TRIM(): 양 끝 공백 제거
  • 옵션: LEADING, TRAILING, BOTH

💰 8. 숫자 형식화 – FORMAT()

SELECT FORMAT(123456789.123456, 3);
-- 결과: '123,456,789.123'
  • 소수점 자리수와 천 단위 쉼표 포함
  • 숫자를 문자열로 반환

📋 요약 테이블

함수명 설명 예제 결과
LENGTH() 문자열 길이 반환 'abc'3
CONCAT() 문자열 결합 'a', 'b''ab'
LOCATE() 부분 문자열 위치 반환 'ab' in 'abc'1
LEFT() 왼쪽에서 n자 추출 LEFT('abc', 2)'ab'
RIGHT() 오른쪽에서 n자 추출 RIGHT('abc', 2)'bc'
LOWER() 소문자로 변환 'ABC''abc'
UPPER() 대문자로 변환 'abc''ABC'
REPLACE() 문자열 일부 치환 'MySQL' → 'MS SQL'
TRIM() 공백 또는 특정 문자 제거 ' abc ''abc'
FORMAT() 숫자 포맷 문자열 반환 12345.6'12,345.60'

질문 정리

CONCAT()CONCAT_WS() 차이는?

  • CONCAT_WS(separator, ...)는 구분자를 포함해 문자열을 연결합니다.

❓ 한글 길이를 정확히 구하려면?

  • CHAR_LENGTH() 또는 CHARACTER_LENGTH()를 사용하세요.
SELECT LENGTH('가나'), CHAR_LENGTH('가나');
-- 결과: LENGTH: 6 (UTF-8), CHAR_LENGTH: 2 (문자 수)

카테고리:

업데이트:

댓글남기기