类别:

:doc:`/sql-reference/functions-context`(通用)

CURRENT_TIME

返回系统的当前时间。

别名:

LOCALTIME

语法

CURRENT_TIME( [ <fract_sec_precision> ] )

CURRENT_TIME
Copy

实参

fract_sec_precision

此可选实参表示报告时间的精度。例如,值为 3 表示在小数点后使用 3 位数(即指定时间精度为毫秒)。

默认精度为 9(纳秒)。

有效值介于 0-9 之间。但是,大多数平台不支持真正的纳秒精度;您获得的精度可能低于您指定的精度。实际上,精度通常最多约为毫秒(3 位数)。

备注

  • 仅当会话的 TIME_OUTPUT_FORMAT 参数中明确设置了小数秒(例如 'HH24:MI:SS.FF'),才会显示小数秒。

返回

返回类型 TIME 的值。

使用说明

  • TIMEZONE 参数的设置会影响返回值。返回的时间位于会话的时区内。

  • 输出中的时间显示格式由 TIME_OUTPUT_FORMAT 会话参数(默认为 HH24:MI:SS)确定。

  • 为符合 ANSI 标准,可以在 SQL 语句中调用此函数,而不必带括号。

    然而,如果要将 Snowflake Scripting 变量 设置为调用这些函数的表达式(例如,my_var := <function_name>();),则必须包含圆括号。有关更多信息,请参阅 上下文函数的用法说明

  • 请勿将返回值用于(由同一虚拟仓库处理的)并发查询之间的精确时间排序,因为查询可能由(仓库中)不同计算资源提供服务。

示例

将时间输出格式设置为 HH24:MI:SS.FF,然后以小数秒精度返回当前时间,首先设置为 2,然后设置为 4,然后设置为默认值 (9):

ALTER SESSION SET TIME_OUTPUT_FORMAT = 'HH24:MI:SS.FF';

SELECT CURRENT_TIME(2);
Copy
+-----------------+
| CURRENT_TIME(2) |
|-----------------|
| 15:35:51.24     |
+-----------------+
SELECT CURRENT_TIME(4);
Copy
+-----------------+
| CURRENT_TIME(4) |
|-----------------|
| 15:36:53.5570   |
+-----------------+
SELECT CURRENT_TIME;
Copy
+--------------------+
| CURRENT_TIME       |
|--------------------|
| 15:37:29.644000000 |
+--------------------+
语言: 中文