问题描述
在将一些代码从Netezza转换为Snowflake时,我遇到了Snowflake似乎存在的空白。
格式为:
TO_CHAR(,“ SSSS”)
参数SSSS定义为午夜之后的秒数。
雪花无法提取第二级以下的时间,例如毫秒,微秒,纳秒。
我错过了什么吗?还有其他选择吗?
解决方法
有趣的是,这个问题要求的是亚秒级的时间范围,但是引用了仅在秒级返回Netezza的函数。因此,我不确定您要寻找的是什么,但是我相信这就是雪花的用途,我以current_timestamp()
为例:
SET timecheck = current_timestamp();
SELECT DATEDIFF(s,date_trunc(day,$timecheck),$timecheck);
这将返回自午夜以来的时间(以秒为单位)。
SELECT DATEDIFF(ms,$timecheck);
这将返回自午夜以来的时间(以毫秒为单位)。
如果您想使调用在代码中更简洁一些,也可以轻松地将其变成函数。