Oracleでは、INITCAP() 関数は、各単語の最初の文字を大文字で、他のすべての文字を小文字で引数を返します。
ケース変換の特別な言語要件については、NLS_INITCAP()を試してみてください。 代わりに機能します。
構文
構文は次のようになります:
INITCAP(char)
charの場所 CHARの任意のデータ型にすることができます 、VARCHAR2 、NCHAR 、またはNVARCHAR2 。
例
簡単な例を次に示します。
SELECT INITCAP('ponzi investment house')
FROM DUAL; 結果:
INITCAP('PONZIINVESTMENTHOUSE')
__________________________________
Ponzi Investment House すべて大文字を渡すとどうなりますか?
すべて大文字を渡しても結果は変わりません:
SELECT INITCAP('PONZI INVESTMENT HOUSE')
FROM DUAL; 結果:
INITCAP('PONZIINVESTMENTHOUSE')
__________________________________
Ponzi Investment House ヌル値
nullを渡す nullを返します :
SET NULL 'null';
SELECT INITCAP(null)
FROM DUAL; 結果:
INITCAP(NULL) ________________ null
デフォルトでは、SQLclおよびSQL * Plusは、nullの場合は常に空白を返します。 SQL SELECTの結果として発生します 声明。
ただし、SET NULLは使用できます 返される別の文字列を指定します。ここでは、文字列nullを指定しました 返却する必要があります。
引数の数が正しくありません
INITCAP()の呼び出し 引数を渡さないとエラーが返されます:
SELECT INITCAP()
FROM DUAL; 結果:
Error starting at line : 1 in command - SELECT INITCAP() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
また、間違った数の引数を渡すと、エラーが発生します:
SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL; 結果:
Error starting at line : 1 in command -
SELECT INITCAP('Gosh', 'Dang', 'Investments')
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 - "invalid number of arguments"
*Cause:
*Action: