최종 수정: 에
INITCAP
설명
INITCAP 함수는 문자열에 있는 각 단어의 첫 글자를 대문자로, 나머지 글자를 소문자로 변환합니다. 단어는 영숫자가 아닌 문자로 구분되는 연속된 영숫자 문자를 의미합니다. 이 함수는 이름, 제목 등 표준적인 대소문자 형식이 필요한 경우에 적합합니다.
구문
INITCAP(<str>)
매개변수
| 매개변수 | 설명 |
|---|---|
<str> | 대소문자 형식을 변환할 문자열입니다. 타입: VARCHAR |
반환 값
변환된 문자열을 VARCHAR 타입으로 반환합니다.
변환 규칙:
- 각 단어의 첫 글자를 대문자로 변환합니다
- 단어의 나머지 글자를 소문자로 변환합니다
- 영숫자가 아닌 문자(공백, 문장 부호, 기호 등)로 단어를 구분합니다
- 숫자 문자는 대소문자 변환을 하지 않습니다
- Unicode 문자의 대소문자 변환을 지원합니다
특수한 경우:
- 매개변수가 NULL이면 NULL을 반환합니다
- 문자열이 비어 있으면 빈 문자열을 반환합니다
- 영숫자가 아닌 문자가 연속되면 하나의 구분자로 처리합니다
- 문자열의 시작 부분에 있는 글자는 대문자로 변환합니다
예제
- 기본적인 단어 첫 글자 대문자 변환
SELECT INITCAP('hello world');
+------------------------+
| INITCAP('hello world') |
+------------------------+
| Hello World |
+------------------------+
- 대소문자가 혼합된 문자열 변환
SELECT INITCAP('hELLo WoRLD');
+------------------------+
| INITCAP('hELLo WoRLD') |
+------------------------+
| Hello World |
+------------------------+
- NULL 값 처리
SELECT INITCAP(NULL);
+---------------+
| INITCAP(NULL) |
+---------------+
| NULL |
+---------------+
- 숫자와 기호가 포함된 문자열
SELECT INITCAP('hello hello.,HELLO123HELlo');
+---------------------------------------+
| INITCAP('hello hello.,HELLO123HELlo') |
+---------------------------------------+
| Hello Hello.,Hello123hello |
+---------------------------------------+
- 빈 문자열
SELECT INITCAP('');
+-------------+
| INITCAP('') |
+-------------+
| |
+-------------+
- 여러 개의 비영숫자 구분자
SELECT INITCAP('word1@word2#word3$word4');
+------------------------------------+
| INITCAP('word1@word2#word3$word4') |
+------------------------------------+
| Word1@Word2#Word3$Word4 |
+------------------------------------+
- UTF-8 멀티바이트 단어
SELECT INITCAP('ṭṛì ḍḍumai hello');
+--------------------------------------+
| INITCAP('ṭṛì ḍḍumai hello') |
+--------------------------------------+
| Ṭṛì Ḍḍumai Hello |
+--------------------------------------+
- 일반적인 이름의 첫 글자 대문자 변환
SELECT INITCAP('john doe'), INITCAP('MARY JANE');
+---------------------+----------------------+
| INITCAP('john doe') | INITCAP('MARY JANE') |
+---------------------+----------------------+
| John Doe | Mary Jane |
+---------------------+----------------------+
- 대소문자가 혼합된 문장
SELECT INITCAP('the quick brown fox'), INITCAP('DATABASE management SYSTEM');
+--------------------------------+---------------------------------------+
| INITCAP('the quick brown fox') | INITCAP('DATABASE management SYSTEM') |
+--------------------------------+---------------------------------------+
| The Quick Brown Fox | Database Management System |
+--------------------------------+---------------------------------------+
- 여러 공백과 연속된 문장 부호
SELECT INITCAP('word1 word2--word3'), INITCAP('hello, world! how are you?');
+---------------------------------+---------------------------------------+
| INITCAP('word1 word2--word3') | INITCAP('hello, world! how are you?') |
+---------------------------------+---------------------------------------+
| Word1 Word2--Word3 | Hello, World! How Are You? |
+---------------------------------+---------------------------------------+