在Snowflake中如何获取当前Unix epoch timestamp
Snowflake获取当前Unix时间戳的方法
你可以直接使用Snowflake内置的日期函数获取不同精度的Unix时间戳,具体用法如下:
- 秒级Unix时间戳(返回1970-01-01 00:00:00 UTC到当前时间的秒数)
可以直接调用简化函数:UNIX_TIMESTAMP()
也可以用通用日期提取函数:DATE_PART('EPOCH_SECOND', CURRENT_TIMESTAMP()) - 毫秒级Unix时间戳:
DATE_PART('EPOCH_MILLISECOND', CURRENT_TIMESTAMP()) - 微秒级Unix时间戳:
DATE_PART('EPOCH_MICROSECOND', CURRENT_TIMESTAMP())
注:以上函数默认基于UTC时区计算,如果你需要获取指定时区对应的Unix时间戳,可先对当前时间做时区转换再提取,示例如下:
-- 获取东八区(Asia/Shanghai)对应的秒级Unix时间戳 SELECT DATE_PART('EPOCH_SECOND', CONVERT_TIMEZONE('Asia/Shanghai', CURRENT_TIMESTAMP()));
内容的提问来源于stack exchange,提问作者Mithun Manohar
相关产品推荐
相关产品推荐

