日時型を使用する例 - Amazon Redshift

日時型を使用する例

以下に、Amazon Redshift でサポートされている日時タイプを操作する例を示します。

日付の例

次の例では、形式が異なる複数の日付を挿入して、出力を表示します。

create table datetable (start_date date, end_date date);
insert into datetable values ('2008-06-01','2008-12-31'); insert into datetable values ('Jun 1,2008','20081231');
select * from datetable order by 1; start_date | end_date ----------------------- 2008-06-01 | 2008-12-31 2008-06-01 | 2008-12-31

DATE 列にタイムスタンプ値を挿入した場合、時刻部分が無視され、日付のみロードされます。

時間の例

次の例では、形式の異なる複数の TIME および TIMETZ 値を挿入して、出力を表示します。

create table timetable (start_time time, end_time timetz);
insert into timetable values ('19:11:19','20:41:19 UTC'); insert into timetable values ('191119', '204119 UTC');
select * from timetable order by 1; start_time | end_time ------------------------ 19:11:19 | 20:41:19+00 19:11:19 | 20:41:19+00

タイムスタンプの例

日付を TIMESTAMP 列または TIMESTAMPTZ 列に挿入すると、時刻はデフォルトでは午前 0 時になります。例えば、リテラル 20081231 を挿入すると、格納される値は 2008-12-31 00:00:00 です。

現在のセッションのタイムゾーンを変更するには、SET コマンドを使用して timezone 設定パラメータを設定します。

次の例では、形式の異なる複数のタイムスタンプを挿入して、結果のテーブルを表示します。

create table tstamp(timeofday timestamp, timeofdaytz timestamptz); insert into tstamp values('Jun 1,2008 09:59:59', 'Jun 1,2008 09:59:59 EST' ); insert into tstamp values('Dec 31,2008 18:20','Dec 31,2008 18:20'); insert into tstamp values('Jun 1,2008 09:59:59 EST', 'Jun 1,2008 09:59:59'); SELECT * FROM tstamp; +---------------------+------------------------+ | timeofday | timeofdaytz | +---------------------+------------------------+ | 2008-06-01 09:59:59 | 2008-06-01 14:59:59+00 | | 2008-12-31 18:20:00 | 2008-12-31 18:20:00+00 | | 2008-06-01 09:59:59 | 2008-06-01 09:59:59+00 | +---------------------+------------------------+