目次
はじめに
本記事では、Verticaで「サポートされているデータ型」をご紹介します。サポートされているデータ型
以下、表内の「NULL 並び順」は、各データ型にNULLが含まれる場合の配置先を示します。文字列型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| CHAR | 1 ~ 65,000 | 固定長の文字および特殊文字を保持します。 最大長は65,000バイトです。最小サイズは1バイト(デフォルト)です。 | 最後 |
| VARCHAR | 1 ~ 65,000 | 可変長の文字および特殊文字を保持します。 最大長は65,000バイトです。最小サイズは1バイトです。デフォルトは80バイトです | 最後 |
| LONG VARCHAR | 1 ~ 32,000,000 | 可変長の英字、数字、記号を保持します。 | 最後 |
整数型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| INTEGER | 8 | 最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807 ※-9,223,372,036,854,775,808はNULLを表すために予約されています。 | 先頭 |
| INT | 8 | 最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807 ※-9,223,372,036,854,775,808はNULLを表すために予約されています。 | 先頭 |
| BIGINT | 8 | 最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807 ※-9,223,372,036,854,775,808はNULLを表すために予約されています。 | 先頭 |
| INT8 | 8 | 最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807 ※-9,223,372,036,854,775,808はNULLを表すために予約されています。 | 先頭 |
| SMALLINT | 8 | 通常サイズの整数。 最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807 ※-9,223,372,036,854,775,808はNULLを表すために予約されています。 | 先頭 |
| TINYINT | 8 | 通常サイズの整数。 最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807 ※-9,223,372,036,854,775,808はNULLを表すために予約されています。 | 先頭 |
| DECIMAL | 8以上 | 指定された精度とスケールの数値を正確に表現できる数値型です。 指定できる最大精度は1024です。 デフォルトの精度は37、スケールは15です。 | 先頭 |
| NUMERIC | 8以上 | 指定された精度とスケールの数値を正確に表現できる数値型です。 指定できる最大精度は1024です。 デフォルトの精度は37、スケールは15です。 | 先頭 |
| NUMBER | 8以上 | 指定された精度とスケールの数値を正確に表現できる数値型です。 指定できる最大精度は1024です。 デフォルトの精度は38、スケールは0です。 | 先頭 |
| MONEY | 8以上 | 指定された精度とスケールの数値を正確に表現できる数値型です。 指定できる最大精度は1024です。 デフォルトの精度は18、スケールは4です。 | 先頭 |
浮動小数点型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| DOUBLE PRECISION | 8 | 64ビットのIEEE-754浮動小数点形式で格納されます。 近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。 正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。 最小値/最大値:-1.79E+308~+1.79E+308 最大精度は15桁です(整数+小数点以下桁数)。 | 最後 |
| FLOAT | 8 | 64ビットのIEEE-754浮動小数点形式で格納されます。 近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。 正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。 最小値/最大値:-1.79E+308~+1.79E+308 最大精度は15桁です(整数+小数点以下桁数)。 | 最後 |
| FLOAT(n) | 8 | 64ビットのIEEE-754浮動小数点形式で格納されます。 近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。 正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。 nには1から53までの値を指定することができますが、どの値を指定しても常に53が使用されます。 最小値/最大値:-1.79E+308~+1.79E+308 最大精度は15桁です(整数+小数点以下桁数)。 | 最後 |
| FLOAT8 | 8 | 64ビットのIEEE-754浮動小数点形式で格納されます。 近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。 正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。 最小値/最大値:-1.79E+308~+1.79E+308 最大精度は15桁です(整数+小数点以下桁数)。 | 最後 |
| REAL | 8 | 64ビットのIEEE-754浮動小数点形式で格納されます。 近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。 正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。 最小値/最大値:-1.79E+308~+1.79E+308 最大精度は15桁です(整数+小数点以下桁数)。 | 最後 |
日付/時刻型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| DATE | 8 | DATEには、年、月および日が含まれます。 YYYY-MM-DDの形式で表示されます。 サポートされる範囲:22500983562558975-11-30 BC~22500983562558974-02-02 AD | 先頭 |
| DATETIME | 8 | 日付および時刻の組み合わせです。 サポートされる範囲:290279-12-22 19:59:05.224194 BC~294277-01-09 04:00:54:775806 AD | 先頭 |
| SMALLDATETIME | 8 | 日付および時刻の組み合わせです。 サポートされる範囲:290279-12-22 19:59:05.224194 BC~294277-01-09 04:00:54:775806 AD | 先頭 |
| TIME | 8 | 時刻を表示します。 サポートされる範囲:00:00:00.00~23:59:60.999999 | 先頭 |
| TIME WITH TIMEZONE | 8 | TIME型を指定したタイムゾーンの時間に変換します。 | 先頭 |
| TIMESTAMP | 8 | 日付および時刻の組み合わせです。 サポートされる範囲:290279-12-22 19:59:05.224194 BC~294277-01-09 04:00:54:775806 AD | 先頭 |
| TIMESTAMP WITH TIMEZONE | 8 | TIMESTAMP型を指定したタイムゾーンの時間に変換します。 | 先頭 |
| INTERVAL | 8 | 期間を格納するデータ型です。 | 先頭 |
| INTERVAL DAY TO SECOND | 8 | 期間を日と秒で表示します。 サポートされる範囲:-106751991 days 04:00:54.775807~106751991 days 04:00:54.775807 | 先頭 |
| INTERVAL YEAR TO MONTH | 8 | 期間を年と月で表示します。 サポートされる範囲:-768e15 yrs~768e15 yrs | 先頭 |
バイナリ型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| BINARY | 1 ~ 65,000 | 固定長のバイナリ文字列を保持します。 最大長は65,000バイトです。 | 最後 |
| VARBINARY | 1 ~ 65,000 | 可変長のバイナリ文字列を保持します。 最大長は65,000バイトです。 | 最後 |
| LONG VARBINARY | 1 ~ 32,000,000 | 可変長rawバイトのデータを保持します。 | 最後 |
| BYTEA | 1 ~ 65,000 | 可変長のバイナリ文字列を保持します。 最大長は65,000バイトです。 | 最後 |
| RAW | 1 ~ 65,000 | 可変長のバイナリ文字列を保持します。 最大長は65,000バイトです。 | 最後 |
ブーリアン型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| BOOLEAN | 1 | TRUE /FALSEまたはNULLを保持します。 | 最後 |
空間型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| GEOMETRY | 1 ~ 10,000,000 | デカルト座標で定義された(x、y)で表される座標情報を保持します。 | 最後 |
| GEOGRAPHY | 1 ~ 10,000,000 | 緯度と経度の角度を示した座標情報を保持します。 | 最後 |
UUID型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| UUID | 16 | Universally Unique Identifier(UUID)を保持します。 | 先頭 |
構造体型
| データ型 | 列のサイズ ( バイト ) | 説明 | NULL 並び順 |
|---|---|---|---|
| ARRAY | 1〜32,000,000 | 配列データを表示します。 | プリミティブ型(ARRAYの中で指定したデータ型)と同じ |
| SET | 1〜32,000,000 | 順序付けられていない一意の要素のコレクションを表示します。 | プリミティブ型(SETの中で指定したデータ型)と同じ |
注意点
Verticaは、他のデータベースからの移行を簡単にするため、別名のデータ型がサポートされています。例えば、INT,INTEGER,INT8,SMALLINT,TINYINT,BIGINTで作成したテーブルは、全てINTで作成されます。別名のデータ型がサポートされることで、移行元のCREATE TABLE文をほぼ改修せずに、利用することができます。
| 別名のデータ型 | 実際に定義されるデータ型 |
|---|---|
| INT INTEGER INT8 SMALLINT TINYINT BIGINT | INT |
| NUMERIC DECIMAL NUMBER MONEY | NUMERIC |
| DOUBLE PRECISION FLOAT FLOAT(n) FLOAT8 REAL | FLOAT |
| TIMESTAMP DATETIME SMALLDATETIME | TIMESTAMP |
| VARBINARY BYTEA RAW | VARBINARY |
参考情報
・SQL Data Typeshttps://www.vertica.com/docs/10.1.x/HTML/Content/Authoring/SQLReferenceManual/DataTypes/SQLDataTypes.htm
検証バージョンについて
この記事の内容はVertica 10.1で確認しています。更新履歴
2021/08/26 全体の構成変更、「INTERVAL DAY TO SECOND型、INTERVAL YEAR TO MONTH型、ARRAY型、SET型」を追加、Vertica10.1用に修正2015/06/29 本記事を公開

