TO_CHAR和SSSS午夜后的小时数

问题描述

在将一些代码从Netezza转换为Snowflake时,我遇到了Snowflake似乎存在的空白。

格式为:

TO_CHAR(,“ SSSS”)

参数SSSS定义为午夜之后的秒数。

https://www.ibm.com/support/knowledgecenter/SSULQD_7.2.1/com.ibm.nz.dbu.doc/r_dbuser_ntz_sql_extns_templ_patterns_date_time_conv.html

雪花无法提取第二级以下的时间,例如毫秒,微秒,纳秒。

我错过了什么吗?还有其他选择吗?

解决方法

有趣的是,这个问题要求的是亚秒级的时间范围,但是引用了仅在秒级返回Netezza的函数。因此,我不确定您要寻找的是什么,但是我相信这就是雪花的用途,我以current_timestamp()为例:

SET timecheck = current_timestamp();

SELECT DATEDIFF(s,date_trunc(day,$timecheck),$timecheck);

这将返回自午夜以来的时间(以秒为单位)。

SELECT DATEDIFF(ms,$timecheck);

这将返回自午夜以来的时间(以毫秒为单位)。

如果您想使调用在代码中更简洁一些,也可以轻松地将其变成函数。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...