1

Oracle ascii 関数を使用する場合:

select ascii('A') from dual;

return 65 が正しいです。

しかし、私が使用するとき:

select ascii('周') from dual;

戻り値は 55004 です。ASCII は >255 を表すことができますか???

どう説明する?

ヘルプ!!!!

私のオラクルのバージョン:Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production my Characterset:6 NLS_CHARACTERSET ZHS16GBK

4

2 に答える 2

4

ASCII名前の は、Oracle が ASCII のみをサポートしていたときの名残りです。ASCII 値のみを返すという意味ではありません。

ドキュメントから:

ASCII は、char の最初の文字のデータベース文字セットの 10 進数表現を返します。

http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions013.htm#sthref933

したがって、結果はデー​​タベースの文字セットに依存し、255 を超える場合があります。

于 2013-08-28T04:02:20.747 に答える