TIMESTAMP/TIMESTAMPTZ
存储指定的日期和时间。 TIMESTAMPTZ
与 TIMESTAMP WITH TIME ZONE
相同:两种数据类型都存储指定时间的 UTC 偏移量。
TIMESTAMP
是 DATETIME
和 SMALLDATETIME
的别名。
语法
TIMESTAMP [ (p) ] [ { WITHOUT | WITH } TIME ZONE ] 'input‑string' [AT TIME ZONE zone ]
TIMESTAMPTZ [ (p) ] 'input‑string' [ AT TIME ZONE zone ]
参数
限制
在下表中,所有值均为约略值。有关详细信息,请参阅日期/时间数据类型。
输入字符串
日期/时间输入字符串连接日期和时间。输入字符串可以包含一个时区,指定为诸如 America/Chicago
之类的字面量,或指定为 UTC 偏移量。
以下列表表示典型的日期/时间输入变体:
-
1999-01-08 04:05:06
-
1999-01-08 04:05:06 -8:00
-
January 8 04:05:06 1999 PST
注意
0000-00-00
是无效输入。如果您尝试将该值插入 DATE 或 TIMESTAMP 字段,则会发生错误。如果将 0000-00-00
复制到 DATE 或 TIMESTAMP 字段中,则 Vertica 会将值转换为 0001-01-01 00:00:00 BC
。
输入字符串还可以指定日历年代,AD
(默认)或 BC
。如果您省略日历年代,则 Vertica 会假定当前日历年代 (AD
)。日历年代通常遵循时区;但是,输入字符串可以将其包含在不同位置。例如,以下查询返回相同结果:
=> SELECT TIMESTAMP WITH TIME ZONE 'March 1, 44 12:00 CET BC ' "Caesar's Time of Death EST";
Caesar's Time of Death EST
----------------------------
0044-03-01 06:00:00-05 BC
(1 row)
=> SELECT TIMESTAMP WITH TIME ZONE 'March 1, 44 12:00 BC CET' "Caesar's Time of Death EST";
Caesar's Time of Death EST
----------------------------
0044-03-01 06:00:00-05 BC
(1 row)