MySQL 문자열(String) 데이터 타입 및 함수
문자열 데이터 타입
- CHAR(n): 고정 길이 문자열. 길이가 지정된 문자열을 저장하며, 문자열이 지정된 길이보다 짧으면 나머지는 공백으로 채워집니다.
- VARCHAR(n): 가변 길이 문자열. 최대 길이 n 만큼의 문자열을 저장합니다. 길이가 고정되지 않으며, 실제 저장된 문자열의 길이만큼만 저장 공간을 사용합니다.
- TEXT: 큰 문자열을 저장할 수 있는 타입. 최대 65,535자의 텍스트를 저장할 수 있습니다.
- BLOB: 바이너리 데이터를 저장할 때 사용합니다.
주요 문자열 함수
문자열 결합 (Concatenation)
SELECT CONCAT('Hello', ' ', 'World');
결과: 'Hello World'
문자열 길이 계산 (Length)
- LENGTH(): 바이트 단위로 문자열의 길이를 반환합니다.
SELECT LENGTH('Hello');
결과: 5
- CHAR_LENGTH(): 실제 문자 개수를 반환합니다. 멀티바이트 문자가 포함된 경우에 차이가 있습니다.
SELECT CHAR_LENGTH('안녕하세요');
결과: 5
대소문자 변환
- UPPER(): 문자열을 대문자로 변환합니다.
SELECT UPPER('hello');
결과: 'HELLO'
- LOWER(): 문자열을 소문자로 변환합니다.
SELECT LOWER('HELLO');
결과: 'hello'
문자열 잘라내기 (Substring)
- SUBSTRING(): 문자열의 일부를 반환합니다. 시작 위치와 길이를 지정합니다.
SELECT SUBSTRING('Hello World', 1, 5);
결과: 'Hello'
문자열 찾기 (Finding)
- LOCATE(): 특정 문자열이 포함된 위치를 반환합니다. 찾고자 하는 문자열의 시작 위치를 반환합니다.
SELECT LOCATE('World', 'Hello World');
결과: 7
문자열 대체 (Replacing)
- REPLACE(): 문자열 내에서 특정 부분을 다른 문자열로 대체합니다.
SELECT REPLACE('Hello World', 'World', 'MySQL');
결과: 'Hello MySQL'
공백 제거
- TRIM(): 문자열의 앞뒤 공백을 제거합니다.
SELECT TRIM(' Hello World ');
결과: 'Hello World'