Tealeadata增加了大分钟的时间戳,导致溢出



对于记录集,我有一个整数字段DTM,这是基本日期距离的分钟数。要获得基本日期 分钟数量的旅行日期,我的第一个本能是在Tearadata Studio中写这篇文章:

timestamp '1984-01-01 00:00:00' AS "BASEDATE",
BASEDATE + CAST(DTM AS INTERVAL MINUTE) AS TripDate

查看间隔分钟类型的规格,它容纳了一个小键,它很容易被我的列DTM溢出。DTM的示例值为24282064。

所以我的问题是如何在不丢失准确性的情况下获得计算出的现场三层?我应该将其转换为小时吗?还是几天?这会保持我的原始准确性吗?

我尝试了:

DTM/60 AS DTH,

,但似乎只输出整数,我会理论认为有些是浮标。

teradata对间隔四个重要数字的限制非常愚蠢(现在已经有了近20年的增强请求),因此您始终需要一些解决方法。

如果知道间隔不到27年:

BASEDATE + (DTM * INTERVAL '0000 00:01' DAY TO MINUTE)

,但在大多数情况下,它更大,然后您必须执行两个步骤:

Cast(DATE '1984-01-01' + (dtm / 1440) AS TIMESTAMP(0)) -- add days first
+ Cast(dtm MOD 1440 AS INTERVAL MINUTE)                -- add the remaining minutes

最新更新