postgresql – now()和current_timestamp之间的区别
在PostgreSQL中,我使用now()和current_timestamp函数,我看到没有区别:
# SELECT now(),current_timestamp; now | now --------------------------------+-------------------------------- 04/20/2014 19:44:27.215557 EDT | 04/20/2014 19:44:27.215557 EDT (1 row) 我错过了什么吗?
没有区别.
Three quotes from the documentation:
1)
2)
3)
大胆强调我的. 所以,基本上,CURRENT_TIMESTAMP,transaction_timestamp()和now()完全相同. CURRENT_TIMESTAMP是一个函数的语法奇怪,没有尾对括号.这是根据SQL标准. 如果未在SQL语句中声明函数调用的列别名(需要一个),则别名默认为函数的名称.在内部,标准SQL CURRENT_TIMESTAMP使用now()实现,并在您查看默认列别名时显示. transaction_timestamp()执行相同的操作,但是这个是一个正确的Postgres函数,因此分配了默认的别名transaction_timestamp. 不要将这些函数中的任何一个与特殊的input constant
它可能会增加混淆(当前 – 第10页)从这些特殊输入值中修剪任意数量的前导和尾随空格和括号({[()]}).因此’now()’:: timestamptz – 或者只是’now()’,其中不需要显式类型转换 – 也是有效的,并且恰好在大多数情况下评估与函数now()相同的时间戳.但这些是常量,通常不是你想要的列默认值. SQL Fiddle. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |