从雪花中的日期时间减去 2 小时
Posted
技术标签:
【中文标题】从雪花中的日期时间减去 2 小时【英文标题】:Substract 2 hours from datetime on Snowflake 【发布时间】:2021-06-10 20:53:55 【问题描述】:我正在研究 Snowflake,需要从特定日期减去 2 小时:
日期时间:2021-06-10 14:07:04.848 -0400
'2021-06-10 14:07:04.848 -0400' - 2 小时
预期结果:2021-06-10 12:07:04.848 -0400(现在是十二点)。
Datediff 不起作用:
DATEDIFF(hour,2,TO_DATE(substr(p.insertedon,1,10)))
有什么简单的方法可以做到这一点?仅减去 2 小时至今的时间 问候
【问题讨论】:
substr(p.insertedon,1,10) 只返回字符串的日期部分——没有时间。尝试先修复那部分 SQL。另外,你为什么将时间戳保存为字符串(根据你的代码,我假设这就是你正在做的事情)? 您也可以尝试使用 TO_TIMESTAMP 而不是 TO_DATE。我通常通过吐出每个部分来解决问题SELECT substr(...), TO_DATE(substr(...)), DATEDIFF(...TO_DATE(substr(...))
这样你就可以看到它在哪里崩溃了
【参考方案1】:
使用INTERVAL
:
SELECT p.insertedon - INTERVAL '2 HOURS'
FROM ...
【讨论】:
以上是关于从雪花中的日期时间减去 2 小时的主要内容,如果未能解决你的问题,请参考以下文章