DATEFORMAT 和 TIMEFORMAT 字串 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DATEFORMAT 和 TIMEFORMAT 字串

COPY 命令使用 DATEFORMAT 和 TIMEFORMAT 選項來剖析來源資料中的日期和時間值。DATEFORMAT 和 TIMEFORMAT 是格式化字串,必須符合來源資料的日期和時間值的格式。例如,使用日期值 Jan-01-1999 載入來源資料的 COPY 命令必須包含下列 DATEFORMAT 字串:

COPY ... DATEFORMAT AS 'MON-DD-YYYY'

如需管理 COPY 資料轉換的相關資訊,請參閱資料轉換參數

DATEFORMAT 和 TIMEFORMAT 字串可以包含日期時間分隔符號 (例如 '-'、'/' 或 ':'),以及下表中的日期部分和時間部分格式。

注意

如果您的日期或時間值的格式無法符合以下日期部分和時間部分,或者您的日期和時間值使用的格式彼此不同,請使用 'auto' 引數來搭配 DATEFORMAT 或 TIMEFORMAT 參數。'auto' 引數可以辨識使用 DATEFORMAT 或 TIMEFORMAT 字串時不支援的多種格式。如需詳細資訊,請參閱 對 DATEFORMAT 和 TIMEFORMAT 使用自動辨識

日期部分或時間部分 意義
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 資料,請指定 'auto'。

以下是可能在來源資料中遇到的一些範例日期或時間,以及對應的 DATEFORMAT 或 TIMEFORMAT 字串。

來源資料日期或時間範例 DATEFORMAT 或 TIMEFORMAT 語法
03/31/2003 DATEFORMAT AS 'MM/DD/YYYY'
2003 年 3 月 31 日 DATEFORMAT AS 'MON DD, YYYY'
03.31.2003 18:45:05

03.31.2003 18:45:05.123456

TIMEFORMAT AS 'MM.DD.YYYY HH:MI:SS'

範例

如需使用 TIMEFORMAT 的範例,請參閱載入時間戳記或日期戳記