九月 21, 2023
摘要:PostgreSQL 的CURRENT_TIME
函数返回带时区的当前时间(time with time zone
)。
目录
语法
下面说明了CURRENT_TIME
函数的语法:
CURRENT_TIME(precision)
参数
CURRENT_TIME
函数接受一个可选参数:
1) precision
precision
参数指定返回的秒数部分的小数精度。如果省略precision
参数,结果将包括完整的可用精度。
返回值
CURRENT_TIME
函数返回一个TIME WITH TIME ZONE
类型的值,表示当前的时间和时区。
示例
以下示例展示了如何获取当前时间:
SELECT CURRENT_TIME;
输出的是TIME WITH TIME ZONE
类型的值,如下:
timetz
--------------------
19:25:24.805985-07
(1 row)
在此示例中,我们没有指定精度参数,因此结果中包含可用的完整精度。
以下示例说明了如何使用CURRENT_TIME
函数并将精度设置为 2:
SELECT CURRENT_TIME(2);
结果是:
timetz
----------------
19:26:43.01-07
(1 row)
CURRENT_TIME
函数可以用作TIME
类型的列的默认值。
让我们看下面的例子。
首先,创建一个表,名为log
,用于演示:
CREATE TABLE log (
log_id SERIAL PRIMARY KEY,
message VARCHAR(255) NOT NULL,
created_at TIME DEFAULT CURRENT_TIME,
created_on DATE DEFAULT CURRENT_DATE
);
该log
表有一个created_at
列,该列的默认值是CURRENT_TIME
函数的结果。
其次,向log
表中插入一行:
INSERT INTO log( message )
VALUES('Testing the CURRENT_TIME function');
在语句中,我们只为message
列指定了一个值,因此,其他列均采用默认值。
第三步,使用如下查询,检查该行是否已插入到log
表中,且created_at
列是否正确填充:
SELECT * FROM log;
下图显示了结果:
如您所见,该created_at
列填充了INSERT
语句执行时的时间。
在本教程中,您学习了如何使用 PostgreSQL 的CURRENT_TIME
函数获取当前时间。
了解更多
PostgreSQL 教程:日期函数
PostgreSQL 文档:时间/日期函数和操作符