首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >now()与current_timestamp的区别

now()与current_timestamp的区别
EN

Database Administration用户
提问于 2014-04-20 23:57:57
回答 1查看 94.9K关注 0票数 98

在PostgreSQL中,我使用now()current_timestamp函数,没有区别:

代码语言:javascript
运行
复制
# SELECT now(), current_timestamp;
              now               |              now               
--------------------------------+--------------------------------
 04/20/2014 19:44:27.215557 EDT | 04/20/2014 19:44:27.215557 EDT
(1 row)

我是不是遗漏了什么?

EN

回答 1

Database Administration用户

发布于 2016-12-09 16:49:43

此外,当您正确使用它们时,它们没有功能上的差异,因此它们被不同地铸造:

'now()'重新识别(就像'today''now'一样):

代码语言:javascript
运行
复制
b=# select 'now()'::timestamptz;
          timestamptz
-------------------------------
 2016-12-09 16:31:35.942243+00
(1 row)

'CURRENT_TIMESTAMP'给出来自黑暗边缘的有趣错误

注意:在PostgreSQL版本7.2中,“current”不再支持作为日期/时间常数。

代码语言:javascript
运行
复制
b=# select 'CURRENT_TIMESTAMP'::timestamptz;
ERROR:  date/time value "current" is no longer supported
LINE 1: select 'CURRENT_TIMESTAMP'::timestamptz;
               ^

'transaction_timestamp()'只是不被重新定义为具有tz值的时间戳:

代码语言:javascript
运行
复制
b=# select 'transaction_timestamp()'::timestamptz;
ERROR:  invalid input syntax for type timestamp with time zone: "transaction_timestamp()"
LINE 1: select 'transaction_timestamp()'::timestamptz;
               ^

请不要问为什么你要投'now()' as timestamp。我在人的代码中看到了where timestamp_column = 'now()'而不是where timestamp_column = now(),所以我认为这种澄清将是有趣的事实,也是Erwin的答案的好补充。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/63548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档