17.10 - 例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-171K-JPN
Language
日本語 (日本)

例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句なしまたはATLOCAL句付きで指定され、 DBS制御フラグTimeDateWZControlが有効になっている場合、ステートメントは現在のセッションに基づいて現在の日付として 
'08 / 06/01 'を返します。時間とタイムゾーンの変位、間隔'01:00 '時間から分。例:

   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