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: