目次
はじめに
本記事では、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 本記事を公開