- 类别:
上下文函数 (通用)
LOCALTIMESTAMP¶
返回采用本地时区的系统当前时间戳。
与 ANSI 兼容的 CURRENT_TIMESTAMP 别名。
语法¶
LOCALTIMESTAMP( [ <fract_sec_precision> ] )
LOCALTIMESTAMP
实参¶
fract_sec_precision
此可选实参表示报告时间的精度。例如,值为 3 表示在小数点后使用 3 位数(即指定时间精度为毫秒)。
默认精度为 9(纳秒)。
有效值介于 0-9 之间。但是,大多数平台不支持真正的纳秒精度;您获得的精度可能低于您指定的精度。实际上,精度通常最多约为毫秒(3 位数)。
备注
仅当会话的 TIMESTAMP_OUTPUT_FORMAT 参数中明确设置了小数秒(例如
'YYYY-MM-DD HH24:MI:SS.FF'
),才会显示小数秒。
返回¶
返回当前系统时间。返回值的数据类型是 TIMESTAMP_LTZ。
使用说明¶
TIMEZONE 参数的设置会影响返回值。返回的时间戳位于会话的时区中。
TIMESTAMP_TYPE_MAPPING 参数的设置会影响返回值。返回的时间戳是会话的时间戳类型。
不要使用返回值来确定并发查询(由同一个虚拟仓库处理)之间的精确时间排序,因为查询可能由(仓库中)不同的计算资源提供服务。
为符合 ANSI 标准,可以在不带括号的情况下调用此函数。
示例¶
显示当前本地时间和本地时间戳:
SELECT LOCALTIME(), LOCALTIMESTAMP();
+-------------+-------------------------------+
| LOCALTIME() | LOCALTIMESTAMP() |
|-------------+-------------------------------|
| 07:58:09 | 2024-04-18 07:58:09.848 -0700 |
+-------------+-------------------------------+