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)


 

你可能感兴趣的:(postgresql,Oracle)