質問

Oracleは、どういう違い:

CREATE TABLE CLIENT
(
 NAME VARCHAR2(11 BYTE),
 ID_CLIENT NUMBER
)

CREATE TABLE CLIENT
(
 NAME VARCHAR2(11 CHAR), -- or even VARCHAR2(11)
 ID_CLIENT NUMBER
)
役に立ちましたか?

解決

ないということにデータベースの文字セットはUTF-8"を推奨設定の最近のバージョンのOracle.この場合、文字によると、1バイトのデータベースです。

設定されていない場合は、分野として VARCHAR2(11 BYTE), Oracleにすることができ11バイトレンがいませんが実際にできる店11文字の分野で世界一部によると、バイト店など英語以外の文字です。

を定義する分野として VARCHAR2(11 CHAR) をしないといけないと考えていOracle使用でき十分なスペース11、文字どんなに多くのバイトで格納します。単一の文字が必要です4バイトです。

他のヒント

一つは正確にスペース11バイト、その他のじ11文字です。一部の文字セットなどのUnicode variantを使用複イトchar、そのため、11byteフィールドが空間未満11文字数によってエンコーディングです。

参照 http://www.joelonsoftware.com/articles/Unicode.html

によってシステム構成、サイズのCHAR mesuredバイト単位が変動する可能性も存在する。おの例:

  1. 制限の分野11 バイト
  2. 制限の分野11 CHARacters


結論:1CHARするものではなく、1バイトになります。

いかなるOracleユーザーがいるに違いはご利用の際のマルチバイト文字セットなどのUnicode(UTF-16/32).この場合、11バイト数が未満11文字です。

でもその分野の種類が使ってアクセント文字の場合、例えば'binaryField(エ)="été"'と一致しなくなりながらcharField(エ)="été"'が再度必要な場合はOracle).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top