Verticaで「サポートされているデータ型」と「プロジェクションのNULL値の並び順」をご紹介します。

※Verticaのテーブルは実データを持たない論理スキーマであり、実データはプロジェクションに格納されています。プロジェクションは自動でテーブルデータを最適な形でソート、圧縮して保持します。以下の「NULL 並び順」は、プロジェクションにNULL値が含まれる場合の並び順を示しています。

文字列型

データ型列のサイズ ( バイト )説明NULL 並び順
CHAR1 ~ 65,000固定長の文字および特殊文字を保持します。
最大長は65,000バイトです。最小サイズは1バイト(デフォルト)です。
最後
VARCHAR1 ~ 65,000可変長の文字および特殊文字を保持します。
最大長は65,000バイトです。最小サイズは1バイトです。デフォルトは80バイトです
最後
LONG VARCHAR1 ~ 32,000,000可変長の英字、数字、記号を保持します。最後

整数型

データ型列のサイズ ( バイト )説明NULL 並び順
INTEGER8最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807
※-9,223,372,036,854,775,808はNULLを表すために予約されています。
先頭
INT8最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807
※-9,223,372,036,854,775,808はNULLを表すために予約されています。
先頭
BIGINT8最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807
※-9,223,372,036,854,775,808はNULLを表すために予約されています。
先頭
INT88最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807
※-9,223,372,036,854,775,808はNULLを表すために予約されています。
先頭
SMALLINT8通常サイズの整数。
最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807
※-9,223,372,036,854,775,808はNULLを表すために予約されています。
先頭
TINYINT8通常サイズの整数。
最小値/最大値:-9,223,372,036,854,775,807~9,223,372,036,854,775,807
※-9,223,372,036,854,775,808はNULLを表すために予約されています。
先頭
DECIMAL8以上指定された精度とスケールの数値を正確に表現できる数値型です。
指定できる最大精度は1024です。
デフォルトの精度は37、スケールは15です。
先頭
NUMERIC8以上指定された精度とスケールの数値を正確に表現できる数値型です。
指定できる最大精度は1024です。
デフォルトの精度は37、スケールは15です。
先頭
NUMBER8以上指定された精度とスケールの数値を正確に表現できる数値型です。
指定できる最大精度は1024です。
デフォルトの精度は38、スケールは0です。
先頭
MONEY8以上指定された精度とスケールの数値を正確に表現できる数値型です。
指定できる最大精度は1024です。
デフォルトの精度は18、スケールは4です。
先頭

浮動小数点型

データ型列のサイズ ( バイト )説明NULL 並び順
DOUBLE PRECISION864ビットのIEEE-754浮動小数点形式で格納されます。
近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。
正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。
最小値/最大値:-1.79E+308~+1.79E+308
最大精度は15桁です(整数+小数点以下桁数)。
最後
FLOAT864ビットのIEEE-754浮動小数点形式で格納されます。
近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。
正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。
最小値/最大値:-1.79E+308~+1.79E+308
最大精度は15桁です(整数+小数点以下桁数)。
最後
FLOAT(n)864ビットのIEEE-754浮動小数点形式で格納されます。
近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。
正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。
nには1から53までの値を指定することができますが、どの値を指定しても常に53が使用されます。
最小値/最大値:-1.79E+308~+1.79E+308
最大精度は15桁です(整数+小数点以下桁数)。
最後
FLOAT8864ビットのIEEE-754浮動小数点形式で格納されます。
近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。
正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。
最小値/最大値:-1.79E+308~+1.79E+308
最大精度は15桁です(整数+小数点以下桁数)。
最後
REAL864ビットのIEEE-754浮動小数点形式で格納されます。
近似値として格納されるため、特定の値を格納して返すと若干の相違が生じる場合があります。
正確な格納および計算が必要な場合は (金額の場合など)、NUMERIC型を使用してください。
最小値/最大値:-1.79E+308~+1.79E+308
最大精度は15桁です(整数+小数点以下桁数)。
最後

日付/時刻型

データ型列のサイズ ( バイト )説明NULL 並び順
DATE8DATEには、年、月および日が含まれます。
YYYY-MM-DDの形式で表示されます。
サポートされる範囲:22500983562558975-11-30 BC~22500983562558974-02-02 AD
先頭
DATETIME8日付および時刻の組み合わせです。
サポートされる範囲:290279-12-22 19:59:05.224194 BC~294277-01-09 04:00:54:775806 AD
先頭
SMALLDATETIME8日付および時刻の組み合わせです。
サポートされる範囲:290279-12-22 19:59:05.224194 BC~294277-01-09 04:00:54:775806 AD
先頭
TIME8時刻を表示します。
サポートされる範囲:00:00:00.00~23:59:60.999999
先頭
TIME WITH TIMEZONE8TIME型を指定したタイムゾーンの時間に変換します。先頭
TIMESTAMP8日付および時刻の組み合わせです。
サポートされる範囲:290279-12-22 19:59:05.224194 BC~294277-01-09 04:00:54:775806 AD
先頭
TIMESTAMP WITH TIMEZONE8TIMESTAMP型を指定したタイムゾーンの時間に変換します。先頭
INTERVAL8期間を格納するデータ型です。先頭

バイナリ型

データ型列のサイズ ( バイト )説明NULL 並び順
BINARY1 ~ 65,000固定長のバイナリ文字列を保持します。
最大長は65,000バイトです。
最後
VARBINARY1 ~ 65,000可変長のバイナリ文字列を保持します。
最大長は65,000バイトです。
最後
LONG VARBINARY1 ~ 32,000,000可変長rawバイトのデータを保持します。最後
BYTEA1 ~ 65,000可変長のバイナリ文字列を保持します。
最大長は65,000バイトです。
最後
RAW1 ~ 65,000可変長のバイナリ文字列を保持します。
最大長は65,000バイトです。
最後

ブーリアン型

データ型列のサイズ ( バイト )説明NULL 並び順
BOOLEAN1TRUE /FALSEまたはNULLを保持します。最後

空間型

データ型列のサイズ ( バイト )説明NULL 並び順
GEOMETRY1 ~ 10,000,000デカルト座標で定義された(x、y)で表される座標情報を保持します。最後
GEOGRAPHY1 ~ 10,000,000緯度と経度の角度を示した座標情報を保持します。最後

UUID型

データ型列のサイズ ( バイト )説明NULL 並び順
UUID16Universally Unique Identifier(UUID)を保持します。先頭

注意点

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


 

参考情報

プロジェクションに関しては「プロジェクションの概要」もご覧ください。

検証バージョンについて

この記事の内容はVertica 9.1で確認しています。