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 |
+---------------------------------------+