日時型 - Amazon Redshift

日時型

日時データ型には DATE、TIME、TIMETZ、TIMESTAMP、TIMESTAMPTZ があります。

ストレージと範囲

名前 ストレージ 範囲 解像度
DATE 4 バイト 4713 BC~294276 AD 1 日
TIME 8 バイト 00:00:00~24:00:00 1 マイクロ秒
TIMETZ 8 バイト 00:00:00 + 1459~00:00:00 + 1459 1 マイクロ秒
TIMESTAMP 8 バイト 4713 BC~294276 AD 1 マイクロ秒
TIMESTAMPTZ 8 バイト 4713 BC~294276 AD 1 マイクロ秒

DATE

タイムスタンプなしで単純にカレンダー日付だけを保存するには DATE データ型を使用します。

TIME

TIME は、TIME WITHOUT TIME ZONE のエイリアスです。

時刻を保存するには、TIME データ型を使用します。

TIME 列に値を保存する場合、小数秒の精度については最大で 6 桁まで保存されます。

デフォルトでは、ユーザーテーブルと Amazon Redshift システムテーブルでは、TIME 値は協定世界時 (UTC) になります。

TIMETZ

TIMETZ は、TIME WITH TIME ZONE のエイリアスです。

TIMETZ データ型を使用して、時刻とタイムゾーンを保存します。

TIMETZ 列に値を保存する場合、小数秒の精度については最大で 6 桁まで保存されます。

デフォルトでは、ユーザーテーブルと Amazon Redshift システムテーブルの両方で、TIMETZ 値は UTC です。

TIMESTAMP

TIMESTAMP は、TIMESTAMP WITHOUT TIME ZONE のエイリアスです。

日付と時刻を含む完全なタイムスタンプ値を保存するには TIMESTAMP データ型を使用します。

TIMESTAMP 列に値を保存する場合、小数秒の精度については最大で 6 桁まで保存されます。

TIMESTAMP 列に日付または部分的なタイムスタンプ値を持つ日付を挿入すると、値は暗黙的に完全なタイムスタンプ値に変換されます。この完全なタイムスタンプ値には、時間、分、および秒が抜けている場合のデフォルト値 (00) があります。入力文字列のタイムゾーン値は無視されます。

デフォルトでは、ユーザーテーブルと Amazon Redshift システムテーブルの両方で、TIMESTAMP 値は UTC です。

TIMESTAMPTZ

TIMESTAMPTZ は、TIMESTAMP WITH TIME ZONE のエイリアスです。

日付、時刻、タイムゾーンを含む完全なタイムスタンプ値を入力するには TIMESTAMPTZ データ型を使用します。入力値にタイムゾーンが含まれる場合、Amazon Redshift はタイムゾーンを使用して値を UTC に変換し、UTC 値を保存します。

サポートされるタイムゾーン名のリストを表示するには、次のコマンドを実行します。

select pg_timezone_names();

サポートされるタイムゾーン省略形のリストを表示するには、次のコマンドを実行します。

select pg_timezone_abbrevs();

タイムゾーンの最新情報については、「IANA Time Zone Database」も参照してください。

次の表に、タイムゾーン形式の例を示します。

形式

day mon hh:mi:ss yyyy tz

17 Dec 07:37:16 1997 PST

mm/dd/yyyy hh:mi:ss.ss tz

12/17/1997 07:37:16.00 PST

mm/dd/yyyy hh:mi:ss.ss tz

12/17/1997 07:37:16.00 US/Pacific

yyyy-mm-dd hh:mi:ss+/-tz

1997-12-17 07:37:16-08

dd.mm.yyyy hh:mi:ss tz

17.12.1997 07:37:16.00 PST

TIMESTAMPTZ 列に値を保存する場合、小数秒の精度については最大で 6 桁まで保存されます。

TIMESTAMPTZ 列に日付または部分的なタイムスタンプを持つ日付を挿入すると、値は暗黙的に完全なタイムスタンプ値に変換されます。この完全なタイムスタンプ値には、時間、分、および秒が抜けている場合のデフォルト値 (00) があります。

TIMESTAMPTZ 値は、ユーザーテーブルでは UTC です。