本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日期時間 (Datetime) 類型
日期時間 (Datetime) 資料類型包含 DATE、TIME、TIMETZ、TIMESTAMP 與 TIMESTAMPTZ。
儲存與範圍
名稱 | 儲存 | 範圍 | 解析度 |
---|---|---|---|
DATE | 4 位元組 | 4713 BC 到 294276 AD | 1 天 |
TIME | 8 位元組 | 00:00:00 至 24:00:00 | 1 毫秒 |
TIMETZ | 8 位元組 | 00:00:00+1459 至 00:00:00+1459 | 1 毫秒 |
TIMESTAMP | 8 位元組 | 4713 BC 到 294276 AD | 1 毫秒 |
TIMESTAMPTZ | 8 位元組 | 4713 BC 到 294276 AD | 1 毫秒 |
DATE
使用 DATE 資料類型來儲存不含時間戳記的簡單日曆日期。
TIME
TIME 是 TIME WITHOUT TIME ZONE 的別名。
使用 TIME 資料類型來儲存一天中的時間。
TIME 欄可針對小數秒數,儲存精確度最高 6 位數的數值。
在使用者資料表和 Amazon Redshift 系統資料表中,TIME 值預設皆採用世界標準時間 (UTC)。
TIMETZ
TIMETZ 是 TIME WITH TIME ZONE 的別名。
使用 TIMETZ 資料類型來儲存具有時區的一天中的時間。
TIMETZ 欄可針對小數秒數,儲存精確度最高 6 位數的數值。
根據預設,TIMTZ 值在使用者資料表和 Amazon Redshift 系統資料表中皆採用 UTC。
TIMESTAMP
TIMESTAMP 是 TIMESTAMP WITHOUT TIME ZONE 的別名。
使用 TIMESTAMP 資料類型來儲存完整的時間戳記值,其中包含日期和當日的時間。
TIMESTAMP 欄可針對小數秒數,儲存精確度最高 6 位數的數值。
如果將日期插入 TIMESTAMP 欄,或具有部分時間戳記值的日期,則該值會隱含轉換為完整時間戳記值。此完整時間戳記值對於缺少的小時、分鐘和秒具有預設值 (00)。輸入字串中的時區值會遭到忽略。
根據預設,TIMESTAMP 值在使用者資料表和 Amazon Redshift 系統資料表中皆採用 UTC。
TIMESTAMPTZ
TIMESTAMPTZ 是 TIMESTAMP WITH TIME ZONE 的別名。
使用 TIMESTAMPTZ 資料類型來輸入完整的時間戳記值,其中包含日期、當日的時間和時區。當輸入值包含時區時,Amazon Redshift 會使用時區來將該值轉換為 UTC,並儲存 UTC 值。
若要查看受支援時區名稱的清單,請執行下列命令。
select pg_timezone_names();
若要查看受支援時區縮寫的清單,請執行下列命令。
select pg_timezone_abbrevs();
在 IANA 時區資料庫
下表提供時區格式的範例。
格式 | 範例 |
---|---|
dd mon hh:mi:ss yyyy tz |
17 Dec 07:37:16 1997 PST |
mm/dd/yyyy hh:mi:ss.ss tz |
12/17/1997 07:37:16.00 PST |
mm/dd/yyyy hh:mi:ss.ss tz |
12/17/1997 07:37:16.00 美國時間/太平洋時區 |
yyyy-mm-dd H: 三分鐘:SS+/-TZ |
1997-12-17 07:37:16-08 |
dd.mm.yyyy hh:mi:ss tz |
17.12.1997 07:37:16.00 PST |
TIMESTAMPTZ 欄可針對小數秒數,儲存精確度最高 6 位數的數值。
如果將日期插入 TIMESTAMPTZ 欄,或具有部分時間戳記的日期,則該值會隱含轉換為完整時間戳記值。此完整時間戳記值對於缺少的小時、分鐘和秒具有預設值 (00)。
TIMESTAMPTZ 值在使用者資料表中採用 UTC。