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)