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

OracleのNCHR()関数

    Oracleでは、NCHR() 関数は、国別文字セットの引数と同等のバイナリを持つ文字を返します。

    CHR()を使用するのと同じです USINGで機能する NCHAR_CS 引数。

    構文

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

    NCHR(number)

    number NUMBERです 値、または暗黙的にNUMBERに変換できる任意の値 。

    返される値は常にNVARCHAR2です。 。

    簡単な例を次に示します。

    SELECT NCHR(257)
    FROM DUAL;

    結果:

       NCHR(257) 
    ____________ 
    ā           

    ここで番号とNCHR()を提供しました 国別文字セットの対応する文字を返しました。この場合、整数257 文字āにマップします 。

    CHR()でも同じ結果を得ることができます USINGを使用する場合の機能 NCHAR_CS 引数:

    SELECT CHR (257 USING NCHAR_CS)
    FROM DUAL;

    結果:

       CHR(257USINGNCHAR_CS) 
    ________________________ 
    ā                       

    ヌル値

    nullを渡す nullを返します :

    SET NULL 'null';
    
    SELECT NCHR(null)
    FROM DUAL;

    結果:

       NCHR(NULL) 
    _____________ 
    null          

    デフォルトでは、SQLclおよびSQL * Plusは、nullの場合は常に空白を返します。 SQL SELECTの結果として発生します 声明。

    ただし、SET NULLは使用できます 返される別の文字列を指定します。ここでは、文字列nullを指定しました 返却する必要があります。

    引数の数が正しくありません

    NCHR()を呼び出す 引数を渡さないとエラーが返されます:

    SELECT NCHR()
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT NCHR()
    FROM DUAL
    Error at Command Line : 1 Column : 8
    Error report -
    SQL Error: ORA-00938: not enough arguments for function
    00938. 00000 -  "not enough arguments for function"
    *Cause:    
    *Action:

    また、間違った数の引数を渡すと、エラーが発生します:

    SELECT NCHR(1, 2, 3)
    FROM DUAL;

    結果:

    Error starting at line : 1 in command -
    SELECT NCHR(1, 2, 3)
    FROM DUAL
    Error at Command Line : 1 Column : 19
    Error report -
    SQL Error: ORA-00939: too many arguments for function
    00939. 00000 -  "too many arguments for function"
    *Cause:    
    *Action:

    1. クエリ監視を実行しているSQLServer

    2. Oracleデータベースのテーブル名変更列を変更します

    3. GROUP BY内でLIMITを使用して、グループごとにN個の結果を取得しますか?

    4. SQLServerの1つの列に基づいて複数の列をピボットする