Oracle Databaseでは、ASCIISTR()
関数は、データベースの文字セットで指定された文字列のASCIIバージョンを返します。
ASCIISTR(char)
char
の場所 任意の文字セットの文字列または文字列に解決される式です。
非ASCII文字は\xxxx
の形式に変換されます 、ここでxxxx
UTF-16コードユニットを表します。
SELECT ASCIISTR('Fish')
FROM DUAL;
結果:
Fish
この場合、入力はASCII文字を使用しているため、結果は入力と同じです。
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"