新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

新しくブログを開設しました。

Webエンジニアがデザイナーになってみる。




初歩的なことなんですが、微妙にはまったので調べてみました。

char型とvarchara型の違い

char は固定長であり、varchar は可変長です。

ここからが大事なところですが、char型とvarchar型には大きな違いがあります。

■char型
char 型のカラムに指定サイズに満たないデータを入れた場合、不足バイト分のスペースで埋められます。

例えば、8 バイトの char 型のカラムに「test」という文字を挿入すると、データベースには「test____」(_はスペース)というデータで格納されます。

固定長のため、必ず8バイトとなるデータが登録されるのです。


■varchar型
archar 型のカラムに指定サイズに満たないデータを入れても、不足バイト分をスペースで埋められません。

128 バイトの varchar 型のカラムに「test」という文字を挿入しても、「test」というデータが格納される。

可変長なので、自分が登録したデータ数だけ登録されるのです。


これらを使いわける場面としては
電話番号などの長さが必ず固定である場合は char 型
その他、氏名などのデータによって長さが変わってくる場合は varchar 型を使うのが良いのかなという感じです。(個人的感想)

ちなみに Oracle の varchar には varchar と varchar2 があるが、それぞれ、254 バイト以下、4000 バイト以下の可変長文字列を表す。

しかし、以前にも書きましたが、javaからvarchar2に格納する場合
2000バイトまでしか格納できないとのこと。

仕様がめんどくさい。
共通化してくれ。

スポンサーサイト

テーマ:ソフトウェア開発 - ジャンル:コンピュータ

<<あなたはディービー派?デービー派? | ホーム | 「完全な6」の数式パズル。あなたに解けますか?>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://kanamehackday.blog17.fc2.com/tb.php/263-cc37709f
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。