2009年5月4日月曜日

AccessでVARCHAR

データベースで文字列を保存するときに、特に何も考えずにVARCHAR(n)を使うことが多い。ちなみに、CHARとVARCHARの違いは、こちらに。要約すると、cahrは足りない分はスペースで埋められ、varcharは不足分をスペースで埋めない、らしい。

さて、たまには頭を使ってみようと思い、charとvarcharについて、手元にあったAccessのSQLデータ型で調べてみたら、なんとVARCHARなんてものは存在しない。文字列を格納するデータ型はTEXT(0 ~ 2.14 GB のデータ)とCHARACTER(0 ~ 255 バイトの文字列)だけ。
もっと調べてみると、Microsoft Jet データベース エンジン SQL と ANSI SQL のデータ型にVARCHARを発見。これを見る限り、AccessではVARCHARもCHARも同じに扱われるみたいだ。つまり、そんな細かいことは気にするなということらしい。

なお、AccessのSQLにおけるTEXT型は、メモ型フィールドに相当するようだ。これは、メモ型のフィールドを挿入、変更、削除するに詳しく書かれている。例えば、TEXT WITH COMPRESSIONとしたときの圧縮の説明なども、ここに書かれている。
その他のデータ型に関しては、フィールド プロパティのクイック リファレンスに詳しく書かれている。

0 コメント: