前端之家收集整理的这篇文章主要介绍了
PostgreSQL学习篇9.9 日期/时间类型,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
时间/日期类型:
timestamp[(p)] [without time zone]
timestamp[(p)] with time zone:日期和时间,带时区
interval [(p)] :时间间隔
date:只用于日期
time[(p)] [without time zone] :只用于一日内时间
time[(p)] with time zone :只用于一日内时间,带时区
日期输入:
postgres=# show datastyle;
ERROR: unrecognized configuration parameter "datastyle"
postgres=# show datestyle;
DateStyle
-----------
ISO,MDY
(1 row)
postgres=# create table testd(col1 date);
CREATE TABLE
postgres=# insert into testd values(date '12-23-16');
INSERT 0 1
postgres=# select * from testd;
col1
------------
2016-12-23
(1 row)
如果有日期列,注意datestyle的设置,因为同一个insert,不同的datestyle会有不同的意义:
postgres=# show datestyle;
DateStyle
-----------
ISO,MDY
(1 row)
postgres=# insert into testd values(date '1-2-2016');
INSERT 0 1
postgres=# set datestyle='DMY';
SET
postgres=# insert into testd values(date '1-2-2016');
INSERT 0 1
postgres=# select * from testd;
col1
------------
2016-12-23
2016-01-02
2016-02-01
(3 rows)
postgres=#
postgres=# select time '103245';
time
----------
10:32:45
(1 row)
各个时区缩写所表示意义:
postgres=# select * from pg_timezone_abbrevs ;
特殊时间:now :当前事务的开始时间--可以类比Oracle中的sysdate
postgres=# select date 'now';
date
------------
2016-12-06
(1 row)
postgres=# select timestamp 'now';
timestamp
----------------------------
2016-12-06 04:17:01.645177
(1 row)
postgres=# select current_time;
timetz
--------------------
05:01:51.535537+08
(1 row)
postgres=# select current_date;
date
------------
2016-12-06
(1 row)
postgres=# select current_timestamp;
now
-------------------------------
2016-12-06 05:02:08.058959+08
(1 row)