データベースの文字セットがUTF-8であると仮定します。これは、最近のバージョンのOracleで推奨されている設定です。この場合、一部の文字はデータベースに格納するのに1バイト以上かかります。
フィールドをVARCHAR2(11 BYTE)
として定義する場合 、Oracleはストレージに最大11バイトを使用できますが、実際にはフィールドに11文字を格納できない場合があります。これは、格納に1バイト以上かかるものがあるためです。英語以外の文字。
フィールドをVARCHAR2(11 CHAR)
として定義する Oracleに、各文字を格納するのに必要なバイト数に関係なく、11文字を格納するのに十分なスペースを使用できることを伝えます。 1文字で最大4バイトが必要になる場合があります。