オラクルバイト文字と仕上げ

期間: 

ビット(ビット):コンピュータ内に格納されるデータの最小単位は、8ビットの二進数11001100です。 

バイト(バイト):これは、資本Bで示される、コンピュータデータ処理の基本単位である伝統的に、図1B(バイト、バイト)= 8ビット(ビット) 

文字:文字は、コンピュータの使用を意味する数字、記号 

説明:  

オラクル、NVARCHAR2では、NCHAR国語キャラクタ・セットがなければならないが、各国語キャラクタ・セット(NLS_NCHAR_CHARACTERSET)を使用して、 

 これは、AL16UTF16、UTF8 2つの1であり、標準文字セット(NLS_CHARACTERSET)を使用して文字の他のタイプは、例えば、次のようにデータベース・キャラクタ・セットを照会します:

テスト

(1)まず、データベース・キャラクタ・セットは、UTF8のための国語キャラクタ・セットのテストZHS16GBKです。 

テストテーブルを構築し、データを挿入します。

テーブルt_var(VA NVARCHAR2(32)、VB VARCHAR2(32))を作成します。 

t_var値(「こんにちは」、「こんにちは」)に挿入します。 

t_var値を挿入(「こんにちは」、「こんにちは」); 

この時点で、我々は照会します: 

テスト結果:

。標準の文字セットがZHS16GBK、英語1バイト文字を使用する文字の種類は、漢字は2バイトです。 

。B国語キャラクタ・セットを使用して、文字の種類はUTF8、英語の1バイト文字、漢字は3つのバイトを占めている場合には、 

ZHS16GBKに設定された(2)私たちは、その後、別のライブラリの標準的な文字、AL16UTF16時間に設定国語キャラクタ、同じテストを、より多くの: 

テスト結果:

。標準の文字セットがZHS16GBK、英語1バイト文字を使用する文字の種類は、漢字は2バイトです。 

。各国語キャラクタ・セットを使用して、文字の種類がAL16UTF16、英語の文字は2バイト、漢字は2バイトであるであるB。   

上記は、私たちがバイト文字によって占め異なる文字タイプを、選択したときに我々は、我々は関数処理を使用する一部の文字を持っている可能性があり、同じでないときの影響を示す、簡単なテスト手順です。

また、私たちの毎日の仕事で、多分見て次の文字は、文言の長さを定義します。

VARCHAR2(32)

VARCHAR2(32 CHAR)

VARCHAR2(32バイト)

これらの3つの方法が正しく定義され、それが表す意味は同じではありませんされています。

VARCHAR2(32 CHAR)は:中国語または英語、ストリング32の最大長を指定し、最大長は32ビットのメモリです。

VARCHAR2(32バイト)を指定する文字列32によって占められるバイトの最大数は、例えば、最大16中国語、英語32の格納を可能にします。

VARCHAR2(32):明示的に文字列の最大バイト長は、対象、またはcharの対象となる指定されていない測定、この時点で決定的な役割を果たしています

                          パラメータNLS_LENGTH_SEMANTICS。

テスト・データベースで、次のクエリパラメータ:

あなたは、デフォルトのデータベースは、文字列の長さがBYTEで測定見ることができます。

おすすめ

転載: www.linuxidc.com/Linux/2019-09/160676.htm