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

OracleのASCIISTR()関数

    Oracle Databaseでは、ASCIISTR() 関数は、データベースの文字セットで指定された文字列のASCIIバージョンを返します。

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

    ASCIISTR(char)

    charの場所 任意の文字セットの文字列または文字列に解決される式です。

    非ASCII文字は\xxxxの形式に変換されます 、ここでxxxx UTF-16コードユニットを表します。

    例を次に示します。

    SELECT ASCIISTR('Fish')
    FROM DUAL;

    結果:

    Fish

    この場合、入力はASCII文字を使用しているため、結果は入力と同じです。

    非ASCII文字を使用するもう1つの文字は次のとおりです。

    SELECT ASCIISTR('ปลา')
    FROM DUAL;

    結果:

    \0E1B\0E25\0E32

    ここでは、同等のASCIIで返される3つの文字のそれぞれを取得します。

    この場合、入力(ปลา )はタイ語で「魚」を意味します。これは「Plā」と発音できます。

    Plāを渡すと次のようになります ASCIISTR()へ 機能:

    SELECT ASCIISTR('Plā')
    FROM DUAL;

    結果:

    Pl\0101

    この場合、渡した最初の2文字はASCII文字ですが、3番目の文字は非ASCII文字です。したがって、この関数は最初の2文字を変更せずに返し、3番目の文字をASCIIに変換して返します。

    これがน้ำを通過するもう1つのものです 、これはタイ語で「水」を意味します:

    SELECT ASCIISTR('น้ำ')
    FROM DUAL;

    結果:

    \0E19\0E49\0E33
    ヌル値 引数がnullの場合 、結果はnullです :

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

    結果:

    null

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

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

    無効な引数カウント

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

    SELECT ASCIISTR()
    FROM DUAL;

    結果:

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

    1. PostgreSQLのディザスタリカバリにBarmanを使用する

    2. これらのMySQLデータベースモニタリングのベストプラクティスをお試しください

    3. SQLでアルファベット順に並べ替える方法

    4. Djangoフィルター呼び出しから返されるリストのデフォルトの順序は何ですか?