VillageSQL is a drop-in replacement for MySQL with extensions.
All examples on this page work on VillageSQL. Install Now →
결합과 분리
CONCAT — 문자열을 이어 붙입니다:CONCAT은 인수에 NULL이 있으면 NULL을 반환합니다. CONCAT_WS는 NULL 값을 건너뛰지만, NULL이 아닌 값 사이의 구분자는 유지합니다.
SUBSTRING / SUBSTR / MID — 문자열의 일부를 추출합니다:
문자열 안에서 검색하기
LOCATE / POSITION / INSTR — 부분 문자열을 찾습니다:REGEXP는 POSIX 정규식 구문을 사용합니다. 함수 형태가 필요하면 REGEXP_LIKE()(MySQL 8.0 이상)를 사용하세요.
문자열 수정하기
REPLACE — 부분 문자열의 모든 출현을 바꿉니다:길이와 비교
MySQL에는 멀티바이트 문자에 대해 다른 결과를 내는 2개의 길이 함수가 있습니다:CHAR_LENGTH를 사용하세요.
STRCMP — 두 문자열을 비교하고 -1, 0, 또는 1을 반환합니다:
서식 지정
FORMAT — 숫자에 천 단위 구분 기호를 넣어 서식을 지정합니다:흔한 패턴
이메일 주소에서 도메인 추출하기:자주 묻는 질문
MySQL 문자열 비교는 대소문자를 구분하나요?
기본적으로는 구분하지 않습니다. 문자열 비교는 열의 콜레이션을 사용하며, 가장 흔한 콜레이션은 대소문자를 구분하지 않습니다(예:utf8mb4_general_ci, 여기서 ci는 case-insensitive를 뜻합니다). 대소문자를 구분하는 비교가 필요하면 _cs 콜레이션이나 BINARY 연산자를 사용하세요:
CHAR_LENGTH와 LENGTH의 차이는 무엇인가요?
LENGTH는 바이트 수를 반환하고, CHAR_LENGTH는 문자 수를 반환합니다. ASCII 문자열에서는 둘이 같습니다. 멀티바이트 문자(악센트가 붙은 글자, 이모지, CJK)가 있는 UTF-8 문자열에서는 다릅니다. 사용자에게 보이는 문자열 길이 제한에는 CHAR_LENGTH를 사용하세요.
문제 해결
함께 보기
- MySQL 문자 집합과 콜레이션 — 문자열 함수는 콜레이션에 따라 다르게 동작합니다
- MySQL 전문 검색 — LIKE를 넘어선 대규모 문자열 검색
- MySQL 열 별칭 — 문자열 표현식이 만드는 열에 이름 붙이기
- MySQL LIKE — 이 함수들과 자주 함께 쓰이는 패턴 연산자
- MySQL GROUP_CONCAT — 그룹의 값을 하나의 문자열로 합치기