例: タイムゾーンをLOCALに設定
この例はセッションのデフォルトのタイムゾーン変位をLOCAL(システムのデフォルトのタイムゾーン)に設定します。
SET TIME ZONE LOCAL;
例: タイムゾーンをUSERに設定
この例はセッションのデフォルトのタイムゾーン変位をUSER (リクエストを実行するログオン ユーザーのデフォルトのタイムゾーン)に設定します。
SET TIME ZONE USER;
例: 単純なINTERVAL HOUR TO MONTHタイムゾーン定数式変位文字列を使用したタイムゾーンの設定
この例では、INTERVAL HOUR TO MONTHタイムゾーン変位文字列を指定することにより、セッションのデフォルトのタイムゾーン変位を設定します。
SET TIME ZONE INTERVAL '08:00' HOUR TO MINUTE;
例: 単純な定数式を使用したタイムゾーンの設定
最初の例は、単純な+1の定数式を指定して、タイムゾーン変位をINTERVAL HOUR '01:00' MINUTEだけ進めて設定します。
SET TIME ZONE +1;
AT句を含む次のSELECTリクエストを実行依頼する場合(<Teradata Vantage™ - SQLの日付/時刻関数と式、B035-1211>の「GetTimeZoneDisplacement」を参照)、タイムゾーンの変位INTERVAL -'08:00’ HOUR TO MINUTEまたは'08/05/31'の日付が返されます。
SELECT CAST((TIMESTAMP '2008-06-01 08:30:00' AT TIME ZONE -8) AS DATE AT SOURCE TIME ZONE);
次のSELECTリクエストは、ターゲットのデータ型にAT句を付けない場合の結果を示しています。
SET TIME ZONE INTERVAL '01:00' HOUR TO MINUTE; SELECT TIMESTAMP '2008-06-01 08:30:00' AT TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE; 2008-06-01 08:30:00 AT TIME ZONE INTERVAL -8:00 HOUR TO MINU ------------------------------------------------------------ 2008-05-31 23:30:00-08:00
ターゲットのデータ型にAT句を付けずに、またはAT LOCAL句を付けて、同じSELECTリクエストを実行した場合、このリクエストは現在のセッションのタイムゾーン変位INTERVAL HOUR '01:00' MINUTEに対して'08/06/01'を返します。
SELECT CAST((TIMESTAMP '2008-06-01 08:30:00' AT TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE) AS DATE); 2008-06-01 08:30:00 AT TIME ZONE INTERVAL -8:00 HOUR TO MINU ------------------------------------------------------------ 08/06/01
次の例は、AT句を付けずにSELECTリクエストと現行セッションのタイムゾーン変位INTERVAL -'08:00' HOUR TO MINUTEを指定して返された結果を示します。
SET TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE; SELECT CAST((CAST(TIMESTAMP '2008-06-01 08:30:00+01:00' AS TIMESTAMP(0)) AT TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE) AS DATE); 2008-06-01 08:30:00+01:00 AT TIME ZONE INTERVAL -8:00 HOUR T ------------------------------------------------------------ 08/05/31
この例は、現行セッションのタイムゾーン変位をINTERVAL '08:00' HOUR TO MINUTEに設定します。
SET TIME ZONE INTERVAL '08:00' HOUR TO MINUTE;
例: タイムゾーン文字列を使用したタイムゾーンの設定
この例は、単純な定数タイムゾーン文字列式を指定することにより、セッションのデフォルトのタイムゾーン変位を設定します。Vantageが次にこのストリングをシステム定義のUDFに渡すと、UDFはこれを解釈し、ストリングの値に基づいてデフォルトのタイムゾーン変位を設定します。
SET TIME ZONE 'America Eastern';
指定したtime_zone_stringの値が有効ではない場合、リクエストはアボートし、Vantageは要求元に次のエラーを返します。
*** Failure 7455 Invalid Time Zone specified.