在Teradata中减去和更改日期时间

时间:2015-12-01 21:17:31

标签: datetime format teradata subtraction

我的Col_1看起来像这样 -

  

2015年1月20日11:12:00.000000

     

2015年1月21日13:00:00.000000

......等等。

我想做(第2行 - 第1行)并将结果显示为1572分钟。

此外,有人可以告诉我如何简单地将此单元格的格式更改为 mm/dd/yy hh:mm:ss

并删除所有小数?

1 个答案:

答案 0 :(得分:0)

这应该让你思考正确的方向。如果您不希望按照您尝试进行时间算术的实际列排序的窗口,则窗口函数的ORDER BY可能需要是您表上的另一列。如果您可以分享有关该表的更多详细信息或自己尝试SQL,我们可能会找到更好的解决方案。

SELECT (MIN(Col_1)
            OVER(PARTITION BY 1 ORDER BY Col_1
            ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) -
       Col_1) MINUTE(4) AS MinutesElapsed
  FROM MyTable;

使用您提供的原始数据作为样本:

SELECT (TIMESTAMP '2015-01-21 13:00:00.00000' -
        TIMESTAMP '2015-01-20 11:12:00.00000') MINUTE(4) AS MinutesElapsed;

小数点:

SELECT CAST(Col_1 AS TIMESTAMP(0)) AS NewTimeStamp;