日期和時間函數 - AWS Clean Rooms

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

日期和時間函數

AWS Clean Rooms 支援下列日期和時間函數:

日期和時間函數的摘要

下表提供中所使用之日期與時間函數的摘要 AWS Clean Rooms。

函數 語法 傳回值
+ (串連) 運算子

將日期與 + 符號兩側的時間串連起來,並傳回 TIMESTAMP 或 TIMESTAMPTZ。

date + time TIMESTAMPTIMESTAMPZ
ADD_MONTHS

將指定幾個月新增至日期或時間戳記。

ADD_MONTHS ({date|timestamp}, integer) TIMESTAMP
CURRENT_DATE 函數

傳回目前工作階段時區中的日期 (預設為 UTC) 做為目前交易的開始。

CURRENT_DATE DATE
DATEADD

透過指定間隔來增量日期或時間。

DATEADD (datepart, interval, {date|time|timetz|timestamp}) TIMESTAMPTIMETIMETZ
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;