本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 |