例1: INTERVAL -'08:00:00' HOUR TO MINUTEを基に現在の日付を返す
この例では、DATE値のデフォルト形式が'yy/mm/dd'だと仮定しています。次の文を考えます。
SET TIME ZONE INTERVAL '01:00' HOUR TO MINUTE; SELECT DATE AT TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE; SELECT DATE AT INTERVAL -'08:00' HOUR TO MINUTE; SELECT DATE AT TIME ZONE INTERVAL -'08' HOUR; SELECT DATE AT INTERVAL -'08' HOUR; SELECT DATE AT TIME ZONE '-08:00'; SELECT DATE AT '-08:00'; SELECT DATE AT TIME ZONE '-8'; SELECT DATE AT '-8'; SELECT DATE AT TIME ZONE -8; SELECT DATE AT -8; SELECT DATE AT -8.0;
上記のSELECT文は、タイムゾーン変位INTERVAL -'08:00' HOUR TO MINUTEを基にして現在の日付を返します。現在のタイムスタンプがTIMESTAMP '2008-06-01 06:30:00.000000+00:00' (UTC)だとすると、上記のSELECT文は日付として'08/05/31'を返します。
SELECT文がAT句なしで指定されるか、AT LOCAL句とともに指定されていて、DBS制御フラグTimeDateWZControlが有効な場合、この文は現在の日付として'08/06/01'を返します。この日付は、現在のセッションの時間とタイムゾーン変位INTERVAL '01:00' HOUR TO MINUTEに基づいています。 例えば、
SELECT DATE; SELECT DATE AT LOCAL;
返される日付には、夏時間の開始や終了を考慮した調整が行なわれません。
例2: 'mm-dd-yy'への表示変更
FORMAT句を使って、表示形式を変更してみましょう。
SELECT DATE (FORMAT 'mm-dd-yy'); Date -------- 03-30-96
例3: タイムゾーン文字列'America Pacific'に基づいて現在の日付を返す
次の問合わせは、タイムゾーン文字列'America Pacific'を基にしたタイムゾーン変位での、現在の日付を返します。Vantageは、タイムゾーン文字列と、CURRENT_TIMESTAMP AT '00:00'(UTC)を基にしてタイムゾーン変位を決定します。返される日付は、夏時間の開始と終了を考慮に入れて自動的に調整されます。
SELECT DATE AT TIME ZONE 'America Pacific'; SELECT DATE AT 'America Pacific';
例4: 表示を'mmmbdd,byyyy'に変更する
別の形式にします。
SELECT DATE (FORMAT 'mmmbdd,byyyy'); Date ------------ Mar 30, 1996