カテゴリ:

文字列とバイナリ関数 (ケース変換)

INITCAP

各単語の最初の文字が大文字で、後続の文字が小文字の入力文字列を返します。

構文

INITCAP( <expr> [ , '<delimiters>' ] )
Copy

引数

expr

文字列式。

'delimiters'

INITCAP が入力式の単語の区切り文字として使用する、1文字以上の文字列。

  • delimiters が指定されていない場合、入力式に含まれる以下の文字はすべて単語の区切り文字として扱われます。

    <whitespace> ! ? @ " ^ # $ & ~ _ , . : ; + - * % / | \ [ ] ( ) { } < >
    
  • delimiters が指定されている場合、指定された値は上記のすべての文字を上書きします。

空白文字を含む UTF-8文字をサポートし、大文字と小文字を区別します。

一重引用符で囲む必要があります。例: ', ' (この例での区切り記号は , と空白)。

空白文字列(つまり、 '')として指定された場合、 INITCAP は、入力式中の空白文字を含むすべての区切り文字を無視します。入力式は1つの連続した単語として扱われます。結果の出力は、最初の文字が大文字の文字列(最初の文字が文字の場合)で、その他の文字はすべて小文字です。

戻り値

この関数は VARCHAR型の値を返します。

照合順序の詳細

Arguments with collation specifications currently aren't supported.

この例では、デフォルトの区切り文字を使用して、さまざまな言語でさまざまな出力を提供します。

SELECT v, INITCAP(v) FROM testinit;
Copy
+---------------------------------+---------------------------------+
| C1                              | INITCAP(C1)                     |
|---------------------------------+---------------------------------|
| The Quick Gray Fox              | The Quick Gray Fox              |
| the sky is blue                 | The Sky Is Blue                 |
| OVER the River 2 Times          | Over The River 2 Times          |
| WE CAN HANDLE THIS              | We Can Handle This              |
| HelL0_hi+therE                  | Hell0_Hi+There                  |
| νησί του ποταμού                | Νησί Του Ποταμού                |
| ÄäÖößÜü                         | Ääöößüü                         |
| Hi,are?you!there                | Hi,Are?You!There                |
| to je dobré                     | To Je Dobré                     |
| ÉéÀàè]çÂâ ÊêÎÔô ÛûËÏ ïÜŸÇç ŒœÆæ | Ééààè]Çââ Êêîôô Ûûëï Ïüÿçç Œœææ |
| ĄąĆ ćĘęŁ łŃńÓ óŚśŹźŻż           | Ąąć Ćęęł Łńńó Óśśźźżż           |
| АаБб ВвГгД дЕеЁёЖ жЗзИиЙй       | Аабб Ввггд Дееёёж Жззиийй       |
| ХхЦц ЧчШш ЩщЪъ ЫыЬь ЭэЮ юЯя     | Ххцц Ччшш Щщъъ Ыыьь Ээю Юяя     |
| NULL                            | NULL                            |
+---------------------------------+---------------------------------+

これらの例では、 delimiters 引数を使用して区切り文字を指定しています。

SELECT INITCAP('this is the new Frame+work', '') AS initcap_result;
Copy
+----------------------------+
| INITCAP_RESULT             |
|----------------------------|
| This is the new frame+work |
+----------------------------+
SELECT INITCAP('iqamqinterestedqinqthisqtopic','q') AS initcap_result;
Copy
+-------------------------------+
| INITCAP_RESULT                |
|-------------------------------|
| IqAmqInterestedqInqThisqTopic |
+-------------------------------+
SELECT INITCAP('lion☂fRog potato⨊cLoUD', '⨊☂') AS initcap_result;
Copy
+------------------------+
| INITCAP_RESULT         |
|------------------------|
| Lion☂Frog potato⨊Cloud |
+------------------------+
SELECT INITCAP('apple is僉sweetandballIsROUND', '僉a b') AS initcap_result;
Copy
+-------------------------------+
| INITCAP_RESULT                |
|-------------------------------|
| aPple Is僉SweetaNdbaLlisround |
+-------------------------------+