您的位置:首页 > 数据库

PostgreSQL学习篇9.9 日期/时间类型

2016-12-23 17:07 603 查看
时间/日期类型:
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: