PostgreSQL能力 怎样获取当前日期时刻
副问题[/!--empirenews.page--]
短视频,自媒体,达人种草一站处事 这篇文章首要先容了PostgreSQL 怎样获取当前日期时刻及留意事项,文中通过示例代码先容的很是具体,对各人的进修可能事变具有必然的参考进修代价,必要的伴侣们下面跟着小编来一路进修进修吧 在开拓数据库应用可能调试代码时,常常必要获取体系的当前日期和时刻,我们来看一下 PostgreSQL 中提供的相干函数。 当前日期 CURRENT_DATE CURRENT_DATE 函数用于获取数据库处事器的当前日期: postgres=# SELECT CURRENT_DATE; 挪用该函数时不必要在函数名后加括号。该日期是处事器的日期,不是客户端的日期。 当前事宜开始时刻 以下函数可以用于获取数据库处事器的当前时刻: CURRENT_TIME CURRENT_TIMESTAMP CURRENT_TIME、LOCALTIME、CURRENT_TIMESTAMP、LOCALTIMESTAMP 前面 4 个函数用于获取时刻,后头 4 个函数用于获取时刻戳;CURRENT_TIME 和 CURRENT_TIMESTAMP 包括时区信息,LOCALTIME 和 LOCALTIMESTAMP 不包括时区信息。precision 用于指定小数秒的位数,取值为 0 - 6,默以为 6。 postgres=# SELECT CURRENT_TIME, LOCALTIME, CURRENT_TIMESTAMP, LOCALTIMESTAMP; postgres=# SELECT CURRENT_TIME(3), LOCALTIME(3), CURRENT_TIMESTAMP(3), LOCALTIMESTAMP(3); 留意: 上面全部的函数,包罗 CURRENT_DATE,返回的都是当前事宜开始的时刻。在统一个事宜时代,多次挪用沟通的函数将会返回沟通的值,功效不会跟着时刻增进。这一点与其他数据库的实现也许差异。 以下示例行使 pg_sleep 函数停息 3 秒再次获取当前时刻: postgres=# BEGIN; postgres=# SELECT pg_sleep(3); postgres=# SELECT CURRENT_TIMESTAMP; postgres=# COMMIT; 在事宜中两次获取的时刻沟通。 当前语句开始时刻 PostgreSQL 还提供了其他获取时刻的函数: transaction_timestamp() transaction_timestamp() transaction_timestamp() 等价于 CURRENT_TIMESTAMP,可是浸染越发明晰。 statement_timestamp() statement_timestamp() 返回当前语句的开始时刻,更精确地说,应该是吸取到客户端最新呼吁的时刻。statement_timestamp() 和 transaction_timestamp() 对付事宜中的第一个呼吁返回的功效沟通,但随后再执行 statement_timestamp() 将会返回差异的值。 postgres=# BEGIN; postgres=# SELECT pg_sleep(3); postgres=# SELECT statement_timestamp(); postgres=# COMMIT; 两次执行功效之间相差了 3 秒阁下。 当我们在存储进程(Stored Procedure)中举办调试时,凡是必要打印差异语句耗损的时刻;此时就必要行使 statement_timestamp(),而不能行使 CURRENT_TIMESTAMP 可能 transaction_timestamp(): CREATE OR REPLACE sp_test clock_timestamp() clock_timestamp() 返回当前现实的时刻,纵然在统一个 SQL 语句中也也许返回差异的值: postgres=# SELECT clock_timestamp() FROM generate_series(1,10); 查询语句在 1 秒钟内返回了 10 笔记录,可是每笔记录发生的时刻都不沟通。 timeofday() (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |