在Snowflake / SQL中将时间戳取整到最接近的十分钟的最佳方法是什么?谢谢
从纪元ROUND()
转换为秒,然后转换回TIMESTAMP
:
SELECT TO_TIMESTAMP(ROUND(EXTRACT(EPOCH_SECOND FROM CURRENT_TIMESTAMP)/(10*60))*(10*60));
=> 2019-12-04 07:10:00.000
(以上查询在世界标准时间07:13运行]
Note,您可以使用TO_TIMESTAMP_[L]TZ()
转换回本地时区,但是通常无法通过将时间戳记为[[not您本地时区的TIMESTAMP_TZ
进行四舍五入来正确转换在夏令时开始之前。然后,您必须知道TIMESTAMP_TZ
起源的时区的名称。