CURRENT_MICROS

CURRENT_MICROS函数用于获取指定时区当前时间,并返回以微秒为单位的BIGINT类型时间值。

命令格式

BIGINT CURRENT_MICROS([STRING <time_zone>])

-- 标准示例。
-- 返回62747524000。
SELECT CURRENT_MICROS('Asia/Shanghai');

参数说明

time_zone:可选。指定时区,STRING类型。例如Asia/ShanghaiUTC+08:00+8。若未指定时区,则默认为当前Session/Project的时区。

说明

若未修改过项目时区,则默认为东八区(UTC+08:00)。

返回值说明

返回BIGINT类型。默认以微秒为单位表示时间值。若输入参数为NULL,则返回NULL。

使用示例

下述示例中,当前项目时区设置为Asia/Shanghai,时间为2025-09-24 17:25:18.381。

  • 示例1:默认time_zone,获取当前Session/Project时区的时间值。

    -- 返回当前Session/Project时区的日期。
    -- 返回62718381000。
    SELECT CURRENT_MICROS();
  • 示例2:获取孟加拉国时区(UTC+06:00)的当前时间值。

    -- 返回55518381000。
    SELECT CURRENT_MICROS('Asia/Dhaka');
    
    -- 等价于上面写法,返回55518381000。
    SELECT CURRENT_MICROS('UTC+06:00');
    
    -- 等价于上面写法,返回55518381000。
    SELECT CURRENT_MICROS('+06');
  • 示例3:若输入参数为NULL,则返回NULL。

    -- 返回NULL。
    SELECT CURRENT_MICROS(NULL);
  • 示例4:时间格式转换。

    使用FORMAT_TIME函数将返回的BIGINT类型的时间值,转换为指定时间格式的STRING类型时间。

    -- 返回Asia/Shanghai时区的时间。
    -- 返回17:25:18.381。
    SELECT FORMAT_TIME(CURRENT_MICROS('Asia/Shanghai'),'%H:%M:%S.ff3');
    
    -- 返回Asia/Dhaka时区的时间。
    -- 返回15:25:18。
    SELECT FORMAT_TIME(CURRENT_MICROS('Asia/Dhaka'),'%H:%M:%S');

相关函数

CURRENT_MICROS函数属于时间函数,更多日期计算、日期转换的相关函数请参见日期函数