本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日期和時間函數
AWS Clean Rooms 支援下列日期和時間函數:
主題
日期和時間函數的摘要
下表提供中所使用之日期與時間函數的摘要 AWS Clean Rooms。
函數 | 語法 | 傳回值 |
---|---|---|
+ (串連) 運算子
將日期與 + 符號兩側的時間串連起來,並傳回 TIMESTAMP 或 TIMESTAMPTZ。 |
date + time | TIMESTAMP 或 TIMESTAMPZ |
ADD_MONTHS 將指定幾個月新增至日期或時間戳記。 |
ADD_MONTHS ({date|timestamp}, integer) | TIMESTAMP |
CURRENT_DATE 函數 傳回目前工作階段時區中的日期 (預設為 UTC) 做為目前交易的開始。 |
CURRENT_DATE | DATE |
DATEADD 透過指定間隔來增量日期或時間。 |
DATEADD (datepart, interval, {date|time|timetz|timestamp}) | TIMESTAMP 、TIME 或 TIMETZ |
DATEDIFF 傳回兩個日期或時間的差異,做為給定日期的部分 (例如日或月)。 |
DATEDIFF (datepart, {date|time|timetz|timestamp},
{date|time|timetz|timestamp}) |
BIGINT |
DATE_PART 從日期或時間擷取日期部分值。 |
DATE_PART (datepart, {date|timestamp}) | DOUBLE |
DATE_TRUNC 根據日期部分來截斷時間戳記。 |
DATE_TRUNC ('datepart', timestamp) | TIMESTAMP |
EXTRACT 從 timestamp、timestamptz、time 或 timetz 中擷取日期或時間部分。 |
EXTRACT (datepart FROM source) | INTEGER or DOUBLE |
GETDATE 函數 傳回目前工作階段時區中的目前日期和時間 (預設為 UTC)。括號是必要的。 |
GETDATE() | TIMESTAMP |
SYSDATE 傳回日期和時間 (以 UTC 表示) 做為目前交易的開始。 |
SYSDATE | TIMESTAMP |
TIMEOFDAY 傳回目前工作階段時區中的目前工作日 (預設為 UTC) 做為字串值。 |
TIMEOFDAY() | VARCHAR |
TO_TIMESTAMP 傳回含時區的時間戳記,做為指定時間戳記和時區格式。 |
TO_TIMESTAMP ('timestamp', 'format') | TIMESTAMPTZ |
注意
不會將閏秒視為歷經時間的計算中。
交易中日期與時間函數
當您在交易區塊 (BEGIN … END) 中執行下列函數時,函數會傳回目前交易的開始時間,而不是目前陳述式的開始。
-
SYSDATE
-
TIMESTAMP
-
CURRENT_DATE
下列函數一律會傳回目前陳述式的開始日期或時間 (即使他們在交易區塊中)。
-
GETDATE
-
TIMEOFDAY
+ (串連) 運算子
連接數字文字,字符串文字和/或日期時間和間隔文字。它們位於 + 符號的兩側,並根據 + 符號任一側的輸入返回不同類型。
語法
numeric
+string
date
+time
date
+timetz
引數的順序可以反轉。
引數
數字文字
-
表示數字的常值或常數,可以是整數或浮點數。
字符串文字
-
字串、字元字串或字元常數
date
-
資DATE料行或表示式,隱含地轉換為DATE.
time
-
資TIME料行或表示式,隱含地轉換為TIME.
timetz
-
資TIMETZ料行或表示式,隱含地轉換為TIMETZ.
範例
下列範例表格TIME_TEST有一個欄 TIME_VAL (typeTIME),其中插入了三個值。
select date '2000-01-02' + time_val as ts from time_test;