gpt4 book ai didi

teradata - 如何使用计算的间隔添加/减去日期/时间组件?

转载 作者:行者123 更新时间:2023-12-04 14:14:23 25 4
gpt4 key购买 nike

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

最佳答案

这是解决方案:

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 + cast(Offset as interval hour)) GMT

您必须实际将 case 语句的返回值转换为间隔。我什至不知道 Teradata 中存在间隔类型。感谢此页面对我的帮助:

http://www.teradataforum.com/l081007a.htm

关于teradata - 如何使用计算的间隔添加/减去日期/时间组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com