これを Teradata で動作させたい:
より良い例のために更新された SQL
select
case
when
current_date between
cast('03-10-2013' as date format 'mm-dd-yyyy') and
cast('11-03-2013' as date format 'mm-dd-yyyy')
then 4
else 5
end Offset,
(current_timestamp + interval Offset hour) GMT
ただし、エラーが発生しますExpected something like a string or a Unicode character blah blah
。次のように間隔をハードコーディングする必要があるようです。
select current_timestamp + interval '4' day
はい、最初の例でハードコーディングしたことは知っていますが、それは計算結果を示すためだけのものでした。
知っておく必要がある場合は、いくつかのテーブルのすべての日付と時刻を GMT に変換する必要がありますが、夏時間も考慮する必要があります。私は東部にいるので、日付が DST 時間枠内にある場合は 4 時間を追加し、それ以外の場合は 5 時間を追加する必要があります。
期間ごとに個別の更新ステートメントを作成し、それに応じて値を 4 から 5 に変更できることはわかっていますが、クエリを動的かつスマートにしたいと考えています。