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)