initcap
文字列内の各単語の最初の文字を大文字に変換し、残りの文字を小文字に変換します。
この関数は、名前、住所、タイトルなど、タイトルケース(Title Casing)の統一が必要なテキストデータの正規化に役立ちます。
構文
initcap(str)
パラメータ
str:フォーマットする文字列式。VARCHAR 列、リテラル文字列、または他の文字列関数の結果を指定できます。
戻り値
フォーマットされた文字列を VARCHAR 型として返します。
- 引数が NULL の場合、NULL を返します。
- 単語は、空白文字または英数字以外の文字(句読点、記号、数字など)で区切られます。
- 区切り文字の直後の文字は大文字になり、その他の文字はすべて小文字になります。
使用例
例 1: 基本的な文字列(すべて小文字またはすべて大文字)をフォーマットします。
mysql> SELECT initcap('hello world');
+------------------------+
| initcap('hello world') |
+------------------------+
| Hello World |
+------------------------+
mysql> SELECT initcap('HELLO WORLD');
+------------------------+
| initcap('HELLO WORLD') |
+------------------------+
| Hello World |
+------------------------+
例 2: 大文字と小文字が混在する文字列をフォーマットします。
mysql> SELECT initcap('sTaRroCks dAtAbAsE');
+-------------------------------+
| initcap('sTaRroCks dAtAbAsE') |
+-------------------------------+
| Starrocks Database |
+-------------------------------+
例 3: 区切り文字(数字、記号、句読点)を処理します。
mysql> SELECT initcap('1st place, in-the-world!');
+-------------------------------------+
| initcap('1st place, in-the-world!') |
+-------------------------------------+
| 1st Place, In-The-World! |
+-------------------------------------+
使用上の注意
単語の境界: 関数は、文字または数字以外の文字に基づいて「単語」の開始を識別します。例えば、'abc-def' の場合、ハイフン - は区切り文字であるため、d は D になります。
数字: 数字が先頭にある場合、単語の文字として扱われますが、大文字小文字は変更されません。ただし、数字の後の記号は単語の境界をリセットします(例: 1st -> 1st(1 が単語を開始するため)、1-st -> 1-St(- が区切り文字であるため))。