27

数据库新手警报:我正在尝试插入 postgres 表。我要插入的字段称为make_date.

字段类型是timestamp without time zone NOT NULL,如何在其中插入今天的日期?比如现在的日期和时间?类似于下面的内容,但我无法为 dateTime.now 获得正确的数据类型插入格式

insert into inventory_tbl (make_date) values (dateTime.now)
4

2 回答 2

28

使用now()CURRENT_TIMESTAMP

于 2013-03-20T17:48:11.997 回答
24

除了 C. Ramseyer 的解决方案(这是正确的),如果您总是(甚至通常)想要make_date成为记录创建的日期,您可以将其默认设置为now()

alter table inventory_tbl alter make_date set default now();

然后,如果您不将其包含在插入的列列表中,它将自动设置为now()

test=> insert into inventory_tbl ( name ) values ('brick'), ('sand'), ('obsidian') returning *;
         make_date          |   name   
----------------------------+----------
 2013-03-21 09:10:59.897666 | brick
 2013-03-21 09:10:59.897666 | sand
 2013-03-21 09:10:59.897666 | obsidian
(3 rows)

INSERT 0 3
于 2013-03-21T16:10:17.773 回答