SET DATESTYLE
指定如何设置当前会话的日期/时间输出格式。使用
SHOW DATESTYLE
验证当前输出设置。
语法
SET DATESTYLE TO { arg | 'arg' }[, arg | 'arg' ]
参数
SET DATESTYLE
只有一个参数,该参数可以设置为一个或两个指定日期排序和样式的实参。每个实参可以单独指定或结合使用;如果结合,则可按任意顺序指定。
下表说明了每种样式及其支持的日期排序实参:
Vertica 将忽略 ISO
和 GERMAN
日期样式的顺序实参。如果日期样式为 SQL
或 POSTGRES
,则顺序设置将决定以 MDY
还是 DMY
顺序输出日期。SQL
和 POSTGRES
都不支持 YMD
顺序。如果为 YMD
或 SQL
指定 POSTGRES
,Vertica 将忽略该设置,并使用默认的 MDY
顺序。
日期样式和排序还会影响 Vertica 解释输入值的方式。有关详细信息,请参阅日期/时间字面量。
特权
无
输入依赖项
在某些情况下,输入格式会决定输出格式,而不管日期样式和顺序的设置:
-
Vertica 中
DATESTYLE
的 ISO 输出为 ISO 长格式,但也接受某些输入样式。如果输入中最先出现年份,则将对输入和输出使用YMD
,而不考虑DATESTYLE
值。 -
INTERVAL
输入和输出共用同一格式,以下内容除外:-
CENTURY
或WEEK
等单位转换为年和日。 -
AGO
转换为相应符号。
如果日期样式设置为 ISO,输出将遵照以下格式:
[ quantity unit [...] ] [ days ] [ hours:minutes:seconds ]
-
示例
=> CREATE TABLE t(a DATETIME);
CREATE TABLE
=> INSERT INTO t values ('3/16/2016');
OUTPUT
--------
1
(1 row)
=> SHOW DATESTYLE;
name | setting
-----------+----------
datestyle | ISO, MDY
(1 row)
=> SELECT * FROM t;
a
---------------------
2016-03-16 00:00:00
(1 row)
=> SET DATESTYLE TO German;
SET
=> SHOW DATESTYLE;
name | setting
-----------+-------------
datestyle | German, DMY
(1 row)
=> SELECT * FROM t;
a
---------------------
16.03.2016 00:00:00
(1 row)
=> SET DATESTYLE TO SQL;
SET
=> SHOW DATESTYLE;
name | setting
-----------+----------
datestyle | SQL, DMY
(1 row)
=> SELECT * FROM t;
a
---------------------
16/03/2016 00:00:00
(1 row)
=> SET DATESTYLE TO Postgres, MDY;
SET
=> SHOW DATESTYLE;
name | setting
-----------+---------------
datestyle | Postgres, MDY
(1 row)
=> SELECT * FROM t;
a
--------------------------
Wed Mar 16 00:00:00 2016
(1 row)