【问题标题】:while converting timestamp to date, its getting rounded to nearest date in teradata在将时间戳转换为日期时,它会四舍五入到 teradata 中最接近的日期
【发布时间】:2015-02-27 23:53:21
【问题描述】:

我正在尝试将timestamp 转换为日期,但它会四舍五入到teradata 中最接近的日期。以下是详细信息:

event_ts = 12/29/2014 23:25:13.000000-08:00

select cast(event_ts as date)=12/30/2014

如何确保日期保持不变?

【问题讨论】:

    标签: date teradata


    【解决方案1】:

    它不是对日期进行四舍五入,而是在提取日期之前将其调整为您的时区。

    提交时查看结果

    CAST(event_ts AS TIMESTAMP)
    

    你需要添加一个选项:

    CAST(event_ts AS DATE AT SOURCE)
    

    【讨论】:

    • 来源日期是什么!!
    • >>select cast('12/29/2014 23:25:13.000000-08:00' as date at source)
    • 您的 TD 版本是什么? AFAIR 这个语法是在 TD13.10 中添加的
    • Version/Release 是 14.10.03.09 ,我用 >>select * from dbc.dbcinfo
    • event_ts 是时间戳还是 VarChar?如果是 VarChar,您需要先转换为时间戳:CAST(CAST(event_ts AS TIMESTAMP WITH TIME ZONE) AS DATE AT SOURCE)
    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 2022-01-02
    • 2012-03-29
    • 1970-01-01
    • 2021-12-16
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多