本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日期或時間戳記函數的日期部分
下表識別日期部分和時間部分名稱和縮寫,系統接受它們做為以下函數的引數:
-
DATEADD
-
DATEDIFF
-
DATE_PART
-
EXTRACT
日期部分或時間部分 | 縮寫 |
---|---|
millennium, millennia | mil, mils |
century, centuries | c, cent, cents |
decade, decades | dec, decs |
epoch | epoch (由 EXTRACT 支援) |
year, years | y, yr, yrs |
quarter, quarters | qtr, qtrs |
month, months | mon, mons |
week, weeks |
w |
週中的日 |
dayofweek, dow, dw, weekday (由 DATE_PART 和 EXTRACT 函數 所支援) 傳回從 0–6 的整數,從星期日開始。 注意DOW 日期部分的行為與用於日期時間格式字串的星期幾 (D) 日期部分不同。D 是基於整數 1–7,其中星期日為 1。如需詳細資訊,請參閱日期時間格式字串。 |
年中的日 | dayofyear, doy, dy, yearday (由 EXTRACT 支援) |
day, days | d |
hour, hours | h, hr, hrs |
minute, minutes | m, min, mins |
second, seconds | s, sec, secs |
millisecond, milliseconds | ms, msec, msecs, msecond, mseconds, millisec, millisecs, millisecon |
microsecond, microseconds | microsec, microsecs, microsecond, usecond, useconds, us, usec, usecs |
timezone, timezone_hour, timezone_minute | 僅支援具有時區 (TIMESTAMPTZ) EXTRACT 的時間戳記。 |
含秒、毫秒和微秒結果的差異
當不同日期函數指定秒、毫秒或微秒做為日期部分時,減去查詢結果的差異:
-
EXTRACT 函數只會傳回指定日期部分的整數,忽略較高和較低層級的日期部分。若指定的日期部分為秒,則毫秒或微秒不會包含在結果中。若指定的日期部分為豪秒,則秒或微秒不會包含在內。若指定的日期部分為微秒,則秒或豪秒不會包含在內。
-
DATE_PART 函數會傳回時間戳記的完整秒部分,無論指定的日期部分為何,並視需要傳回十進位值或整數。
CENTURY、DECADE、 EPOCH和 MIL備註
- CENTURY 或 CENTURIES
-
AWS Clean Rooms 解譯 CENTURY 以年份 ###1 開頭,以年份 結尾
###0
:select extract (century from timestamp '2000-12-16 12:21:13'); date_part ----------- 20 (1 row) select extract (century from timestamp '2001-12-16 12:21:13'); date_part ----------- 21 (1 row)
- EPOCH
-
的 AWS Clean Rooms 實作EPOCH與 1970-01-01 00:00:00.00000 相關,與叢集所在的時區無關。您可能想要根據叢集所在的時區,彌補結果的時數差異。
- DECADE 或 DECADES
-
AWS Clean Rooms DECADES DATEPART 根據常見的行事曆解譯 DECADE或 。例如,因為一般日曆是從年份 1 開始,第一個十年 (十年 1) 為 0001-01-01 至 0009-12-31,而第二個十年 (十年 2) 為 0010-01-01 到 0019-12-31。例如,十年 201 橫跨 2000-01-01 到 2009-12-31:
select extract(decade from timestamp '1999-02-16 20:38:40'); date_part ----------- 200 (1 row) select extract(decade from timestamp '2000-02-16 20:38:40'); date_part ----------- 201 (1 row) select extract(decade from timestamp '2010-02-16 20:38:40'); date_part ----------- 202 (1 row)
- MIL 或 MILS
-
AWS Clean Rooms 解譯 MIL,以從 #001 年份的第一天開始,並以年份的最後一天結束
#000
:select extract (mil from timestamp '2000-12-16 12:21:13'); date_part ----------- 2 (1 row) select extract (mil from timestamp '2001-12-16 12:21:13'); date_part ----------- 3 (1 row)