Oracleのデータ型
Oracelで指定できる主なデータ型は以下表のとおりです。
型 | データ |
NUMBER | 整数、小数 |
CHAR | 最大2000バイトまたは2000文字の固定長文字列 |
VARCHAR2 | 最大2000バイトまたは2000文字の可変長文字列 |
BLOB | 最大128テラバイトのバイナリデータ |
CLOB | 最大128テラバイトの文字列 |
DATE | 日付 |
TIMESTAMP | 小数秒を含む日付 |
NUMBER型
最大38桁の整数および浮動小数を含む数値を格納できます。
定義する際は、以下の形式で定義します。
NUMBER(桁数, [小数点以下桁数])
※[]は省略可
NUMBER(5, 2)とした場合、整数部3桁 + 小数部2桁の合わせて5桁である点に注意が必要です。
桁数は小数部を含めた数値全体の桁数を指定するようにしてください。
CHAR型
文字列を扱う際に使用します。
格納したデータは固定長文字列として扱われます。
定義する際は、以下の形式で定義します。
CHAR(文字数)
CHAR(5)の列に対し、「ABC」という3バイトの文字列を格納した場合、「ABC 」という5バイトで保存されます。
そのため、検索する際にWHERE句で「列 = ‘ABC’」と指定してもヒットしないので注意してください。
VARCHAR2型
文字列を扱う際に使用します。
格納したデータは可変長文字列として扱われます。
定義する際は、以下の形式で定義します。
VARCHAR2(文字数)
VARCHAR2(5)の列に対し、「ABC」という3バイトの文字列を格納した場合、「ABC」という3バイトで保存されます。
VARCHAR2の場合は、CHARのように有効桁数に満たない場合に自動的に有効桁数になるように空白埋めされることはありません。
BLOB型
画像や音声などのバイナリデータを扱う際に使用します。
定義する際は、以下の形式で定義します。
BLOB
BLOB型は有効桁数の指定は必要ありません。
CLOB型
CHARやVARCHAR2では対応しきれないような膨大なテキストデータを扱う際に使用します。
定義する際は、以下の形式で定義します。
CLOB
CLOB型は有効桁数の指定は必要ありません。
DATE型
日付や時刻を扱う際に使用します。
DATE型で指定した列には、「年月日時分秒」の情報を格納することができます。
定義する際は、以下の形式で定義します。
DATE
DATE型は有効桁数の指定は必要ありません。
TIMESTAMP型
日付や時刻を扱う際に使用します。
TIMESTAMP型で指定した列には、「年月日時分秒」に加え、小数秒の情報も格納することができます。
定義する際は、以下の形式で定義します。
TIMESTAMP
TIMESTAMP型は有効桁数の指定は必要ありません。
以上が、Oracleの主なデータ型についての説明となります。
ぜひ参考にしてみてください。