본문으로 건너뛰기
최종 수정: 에

INITCAP

설명​

INITCAP 함수는 문자열에 있는 각 단어의 첫 글자를 대문자로, 나머지 글자를 소문자로 변환합니다. 단어는 영숫자가 아닌 문자로 구분되는 연속된 영숫자 문자를 의미합니다. 이 함수는 이름, 제목 등 표준적인 대소문자 형식이 필요한 경우에 적합합니다.

구문​

INITCAP(<str>)

매개변수​

매개변수설명
<str>대소문자 형식을 변환할 문자열입니다. 타입: VARCHAR

반환 값​

변환된 문자열을 VARCHAR 타입으로 반환합니다.

변환 규칙:

  • 각 단어의 첫 글자를 대문자로 변환합니다
  • 단어의 나머지 글자를 소문자로 변환합니다
  • 영숫자가 아닌 문자(공백, 문장 부호, 기호 등)로 단어를 구분합니다
  • 숫자 문자는 대소문자 변환을 하지 않습니다
  • Unicode 문자의 대소문자 변환을 지원합니다

특수한 경우:

  • 매개변수가 NULL이면 NULL을 반환합니다
  • 문자열이 비어 있으면 빈 문자열을 반환합니다
  • 영숫자가 아닌 문자가 연속되면 하나의 구분자로 처리합니다
  • 문자열의 시작 부분에 있는 글자는 대문자로 변환합니다

예제​

  1. 기본적인 단어 첫 글자 대문자 변환
SELECT INITCAP('hello world');
+------------------------+
| INITCAP('hello world') |
+------------------------+
| Hello World |
+------------------------+
  1. 대소문자가 혼합된 문자열 변환
SELECT INITCAP('hELLo WoRLD');
+------------------------+
| INITCAP('hELLo WoRLD') |
+------------------------+
| Hello World |
+------------------------+
  1. NULL 값 처리
SELECT INITCAP(NULL);
+---------------+
| INITCAP(NULL) |
+---------------+
| NULL |
+---------------+
  1. 숫자와 기호가 포함된 문자열
SELECT INITCAP('hello hello.,HELLO123HELlo');
+---------------------------------------+
| INITCAP('hello hello.,HELLO123HELlo') |
+---------------------------------------+
| Hello Hello.,Hello123hello |
+---------------------------------------+
  1. 빈 문자열
SELECT INITCAP('');
+-------------+
| INITCAP('') |
+-------------+
| |
+-------------+
  1. 여러 개의 비영숫자 구분자
SELECT INITCAP('word1@word2#word3$word4');
+------------------------------------+
| INITCAP('word1@word2#word3$word4') |
+------------------------------------+
| Word1@Word2#Word3$Word4 |
+------------------------------------+
  1. UTF-8 멀티바이트 단어
SELECT INITCAP('ṭṛì ḍḍumai hello');
+--------------------------------------+
| INITCAP('ṭṛì ḍḍumai hello') |
+--------------------------------------+
| Ṭṛì Ḍḍumai Hello |
+--------------------------------------+
  1. 일반적인 이름의 첫 글자 대문자 변환
SELECT INITCAP('john doe'), INITCAP('MARY JANE');
+---------------------+----------------------+
| INITCAP('john doe') | INITCAP('MARY JANE') |
+---------------------+----------------------+
| John Doe | Mary Jane |
+---------------------+----------------------+
  1. 대소문자가 혼합된 문장
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 |
+--------------------------------+---------------------------------------+
  1. 여러 공백과 연속된 문장 부호
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? |
+---------------------------------+---------------------------------------+