我想让它在 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,但我希望我的查询是动态和智能的。