Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

DATEFORMAT 和 TIMEFORMAT 字符串

COPY 命令中的 DATEFORMAT 和 TIMEFORMAT 选项采用格式字符串。这些字符串可包含日期时间分隔符(如 '-'、'/' 或 ':')以及下面的日期部分和时间部分。

注意

如果 COPY 命令未识别日期或时间值的格式,或者日期或时间值使用不同的格式,请将 'auto' 参数与 TIMEFORMAT 参数结合使用。在使用 DATEFORMAT 和 TIMEFORMAT 字符串时,'auto' 参数将识别一些不受支持的格式。

日期部分或时间部分 意义
YY 不带世纪的年份
YYYY 带世纪的年份
MM 用数字表示的月份
MON 用名称表示的月份(缩写名称或完整名称)
DD 用数字表示的日
HH 或 HH24 小时(24 小时制)

注意

在用于 SQL 函数的 DATETIME 格式字符串中,HH 与 HH12 相同。但是,在用于 COPY 的 DATEFORMAT 和 TIMEFORMAT 字符串中,HH 与 HH24 相同。

HH12 小时(12 小时制)
MI 分钟
SS
AM 或 PM 经线标识符(适用于 12 小时制)

默认格式日期是 YYYY-MM-DD。不带时区 (TIMESTAMP) 的默认时间戳格式是 YYYY-MM-DD HH:MI:SS。带时区 (TIMESTAMPTZ) 的默认时间戳格式是 YYYY-MM-DD HH:MI:SSOF,其中 OF 是与 UTC 的时差(例如,-8:00)。您不能在 timeformat_string 中包含时区标识符(TZ、tz 或 OF)。秒 (SS) 字段还支持高达微秒细节级别的小数秒。要加载格式与默认格式不同的 TIMESTAMPTZ 数据,请指定“自动”。有关更多信息,请参阅 对 DATEFORMAT 和 TIMEFORMAT 使用自动识别

例如,下列 DATEFORMAT 和 TIMEFORMAT 字符串有效。

COPY 语法 有效输入字符串的示例
DATEFORMAT AS 'MM/DD/YYYY' 03/31/2003
DATEFORMAT AS 'MON DD, YYYY' March 31, 2003
TIMEFORMAT AS 'MM.DD.YYYY HH:MI:SS' 03.31.2003 18:45:05

03.31.2003 18:45:05.123456