sql >> データベース >  >> RDS >> Oracle

OracleのINITCAP()関数

    Oracleでは、INITCAP() 関数は、各単語の最初の文字を大文字で、他のすべての文字を小文字で引数を返します。

    ケース変換の特別な言語要件については、NLS_INITCAP()を試してみてください。 代わりに機能します。

    構文

    構文は次のようになります:

    INITCAP(char)

    charの場所 CHARの任意のデータ型にすることができます 、VARCHAR2NCHAR 、または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:

    1. MySQLでrootユーザーとして設定およびログインする方法

    2. MySQL更新クエリの値をインクリメントする

    3. Azure SQLデータベース管理のヒントとヒントの試験(DP-300)

    4. 日付に追加または日付から減算するときのSQLServerの「日付がintと互換性がない」を修正