プロが教える店舗&オフィスのセキュリティ対策術

SQLについての質問です。
文字列型のVARCHARとVARCHAR2の違いについて教えてください。
まだ、初心者なのでなるべく分かりやすくお願いします。

教えて!goo グレード

A 回答 (2件)

データベースによって、データ型の定義が違います。


私が知っている限りでは、
MS-SQLserverなどでは、可変長の文字列はvarcharですが、
Oracleでは、varchar2です。
他にも、MSのdatetimeに相当するものが、Oracleはdate型、という具合に名前が違います。
お使いのDBに沿ったデータ型の定義を調べると良いのではないでしょうか?
それぞれ違うと思いますよ。(似てると言えば似ているけど。)
    • good
    • 7
この回答へのお礼

なるほど。データベースによって定義が違うんですね。
すこし難しく考えすぎていたみたいです。
大変分かりやすい説明、ありがとうございました。

お礼日時:2002/05/09 09:41

【VARCHAR】→(CHARと同じ)


固定長の文字列のことです。サイズ(長さ)が一定で、入力した値がその長さに足りない場合は、スペースで不足分が補われます。指定した長さが文字列以上のものだと、指定された長さ分しか格納できません。
あらかじめ、入力される文字列の長さが決まっている場合はこちらを使用します。

【VARCHAR2】
可変長の文字列です。サイズ(長さ)が決まっていない情報に使用します。
この場合は、VARCHARと違って入力された文字長さが仮に10バイトであって、指定した長さが25バイトでも15バイト分空白が補われないため、資源(ディスク)の有効利用ができるメリットがあげられます。

私は、定義するに当たり、全部VARCHAR2で作成しています。
    • good
    • 7
この回答へのお礼

大変分かりやすい回答、ありがとうございます。
ところで、SQLの本にVARCHARは可変長の文字列と記載されていたのですが、
これはデータ型の定義が変わってしまったと考えてよろしいのですか?

お礼日時:2002/05/07 09:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング