例: INTERVAL -'08:00' HOUR TO MINUTEの現在の日付を返す - Teradata Database - Teradata Vantage NewSQL Engine - CURRENT_DATE関数の例: INTERVAL -'08:00' HOUR TO MINUTEの現在の日付を返す。

Teradata Vantage™ SQL関数、演算子、式および述部

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xzf1512079057909.ditamap
dita:ditavalPath
ja-JP/xzf1512079057909.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

この例では、DATE値のデフォルト形式が'yy/mm/dd'だと仮定しています。次の文を考えます。

   SET TIME ZONE INTERVAL '01:00' HOUR TO MINUTE;
   SELECT CURRENT_DATE AT TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE;
   SELECT CURRENT_DATE AT INTERVAL -'08:00' HOUR TO MINUTE;
   SELECT CURRENT_DATE AT TIME ZONE INTERVAL -'08' HOUR;
   SELECT CURRENT_DATE AT INTERVAL -'08' HOUR;
   SELECT CURRENT_DATE AT TIME ZONE '-08:00';
   SELECT CURRENT_DATE AT '-08:00';
   SELECT CURRENT_DATE AT TIME ZONE '-8';
   SELECT CURRENT_DATE AT '-8';
   SELECT CURRENT_DATE AT TIME ZONE -8;
   SELECT CURRENT_DATE AT -8;
   SELECT CURRENT_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 CURRENT_DATE;
   SELECT CURRENT_DATE AT LOCAL;
SELECT CURRENT_DATE();
   SELECT CURRENT_DATE() AT LOCAL;

返される日付には、夏時間の開始や終了を考慮した調整が行なわれません。