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

OracleのROWIDTONCHAR()関数

    Oracle Databaseでは、ROWIDTONCHAR() 関数 ROWIDを変換します NVARCHAR2への値 データ型

    ROWIDTOCHAR()に似ています 関数、ただしROWIDTOCHAR() ROWIDを変換します VARCHAR2への値 データ型。

    構文

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

    ROWIDTONCHAR(rowid)

    次に例を示します:

    SELECT ROWIDTONCHAR('AAATiBAAMAAAAIDAAE')
    FROM DUAL;

    結果:

    AAATiBAAMAAAAIDAAE

    変換の結果は常に国別の文字セットであり、18文字の長さです。

    CHARTOROWID()と比較した場合の結果のダンプは次のとおりです。 関数(ROWIDを返します 文字データからの値):

    SELECT 
        DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
        DUMP(ROWIDTONCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTONCHAR"
    FROM DUAL;

    結果:

                     CHARTOROWID               ROWIDTONCHAR 
    ____________________________ __________________________ 
    Typ=69 Len=10: ^@,^A,8,81    Typ=1 Len=36: ^@,A,^@,A   

    69のタイプID ROWIDであることを意味します データ型、およびタイプID 1 VARCHAR2のいずれかであることを意味します またはNVARCHARCHAR2

    データベースの例

    これは、指定されたROWIDに基づいてデータベーステーブルの行を返す例です。 :

    SELECT 
        ROWID,
        FIRST_NAME,
        LAST_NAME
    FROM EMPLOYEES
    WHERE ROWIDTONCHAR(ROWID) LIKE '%KzABa';

    結果:

                    ROWID    FIRST_NAME    LAST_NAME 
    _____________________ _____________ ____________ 
    AAATiDAAMAAALKzABa    Timothy       Gates       
    ヌル引数 引数がnullの場合 、結果はnullです :

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

    結果:

    null

    デフォルトでは、SQLclおよびSQL * Plusは、SQL SELECTの結果としてnull値が発生するたびに空白を返します。 ステートメント。

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

    無効な引数カウント

    ROWIDTONCHAR()を呼び出す 引数がないとエラーが発生します:

    SELECT ROWIDTONCHAR()
    FROM DUAL;

    結果:

    SQL Error: ORA-00909: invalid number of arguments
    00909. 00000 -  "invalid number of arguments"

    また、あまりにも多くの引数を渡すと、エラーが発生します:

    SELECT ROWIDTONCHAR('a', 'b')
    FROM DUAL;

    結果:

    SQL Error: ORA-00909: invalid number of arguments
    00909. 00000 -  "invalid number of arguments"

    1. OracleでCoalesce関数を使用する方法

    2. MySQLGroupByおよびOrde​​rBy

    3. MySQL PI()関数–π(pi)の値を返します

    4. データベースバックアップアドバイザを使用したメンテナンスタスクの自動化