假设我有桌子:
postgres=# create table foo (datetimes timestamptz);
CREATE TABLE
postgres=# \d+ foo
Table "public.foo"
Column | Type | Modifiers | Storage | Description
-----------+--------------------------+-----------+---------+-------------
datetimes | timestamp with time zone | | plain |
Has OIDs: no
所以让我们在其中插入一些值......
postgres=# insert into foo values
('2012-12-12'), --This is the value I want to catch for.
(null),
('2012-12-12 12:12:12'),
('2012-12-12 12:12');
INSERT 0 4
这就是我们所拥有的:
postgres=# select * from foo ;
datetimes
------------------------
2012-12-12 00:00:00+00
2012-12-12 12:12:12+00
2012-12-12 12:12:00+00
(4 rows)
理想情况下,当输入未提供 TIME 时,我想设置一个默认时间戳值,而不是事实上的时间2012-12-12
,00:00:00
我想设置一个默认的15:45:10
.
意思是,我的结果应该如下所示:
postgres=# select * from foo ;
datetimes
------------------------
2012-12-12 15:45:10+00 --This one gets the default time.
2012-12-12 12:12:12+00
2012-12-12 12:12:00+00
(4 rows)
我不确定如何在 postgres 8.4 中执行此操作,我在手册的datetime部分或有关列默认值的部分中找不到任何内容。