INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1);
这是我用于 mysql 插入当前日期时间的查询。当我在 postgresql 中使用它时,我得到以下错误。
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
********** Error **********
ERROR: function utc_timestamp() does not exist
SQL state: 42883
我已经尝试过像下面这样使用now()
,但是它像"2016-07-07 17:01:18.410677"
一样插入。我需要以'yyyymmdd hh:mi:ss tt'
格式插入。
INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1);
如何在上述格式的postgresql插入查询中插入当前日期时间?
timestamp
(或date
或time
列)没有"格式"。
看到的任何格式都由您正在使用的 SQL 客户端应用。
<小时 />要按照手册中的说明插入当前时间使用current_timestamp
,请执行以下操作:
INSERT into "Group" (name,createddate)
VALUES ('Test', current_timestamp);
要以不同的格式显示该值,请在选择数据时更改 SQL 客户端的配置或格式化值:
select name, to_char(createddate, 'yyyymmdd hh:mi:ss tt') as created_date
from "Group"
<小时 />对于psql
(默认命令行客户端),您可以通过配置参数 DateStyle
: https://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-DATESTYLE 来配置显示格式
对于当前日期时间,您可以在 postgresql 插入查询中使用 now() 函数。
您也可以参考以下链接。
在postgres中插入不带时区的数据类型时间戳的语句 不为空,。
您当然可以格式化 current_timestamp()
的结果。请查看官方文档中的各种格式化功能。