微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)


 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐