繁体   English   中英

Teradata将DATE转换为午夜

[英]Teradata Convert DATE to midnight

下面是原始代码

convert(datetime,
            (substring(convert(varchar(26),
            convert(datetime,getdate())),1,12) +
            '23:59:59:996'))

输出是= 6/17/2015 11:59:59.996

我将其转换为下面的Teradata

CAST(CURRENT_TIMESTAMP AS DATE FORMAT 'MM/DD/YYYY') || ' 23:59:59:999990'

但是在编译我的存储过程时,它在下面产生一个错误

表达式“ E(5404):Datetime字段溢出”无效或缺失。

Teradata中是否有命令将日期设置为午夜?

谢谢

当您将日期投放到tamestamp时,将其设置为午夜,则可以添加或减去间隔:

-- tomorrow minus a millisecond
CAST(CURRENT_DATE +1 AS TIMESTAMP(3)) - INTERVAL '0.001' SECOND

-- or today plus almost 24 hours
CAST(CURRENT_DATE AS TIMESTAMP(3)) + INTERVAL '23:59:59.999' HOUR TO SECOND

使用PRIOR有一个简化的版本,您无需考虑centi / milli / microseconds:

-- tomorrow minus one unit of time (based on the input datatype)
Prior(Cast(Current_Date+1 AS TIMESTAMP(3)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM