翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
日付および時刻関数
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 日または月などの特定の日付部分の 2 つの日付または時刻の差を返します。 |
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
+ (連結) 演算子
数値リテラル、文字列リテラル、日時リテラル、間隔リテラルを連結します。+ 記号の両側にリテラルがあり、+ 記号の両側の入力に基づいて異なる型を返します。
Syntax
numeric
+string
date
+time
date
+timetz
引数の順序は逆にすることができます。
引数
数値リテラル
-
数値を表現するリテラルまたは定数は、整数または浮動小数点数になり得ます。
文字列リテラル
-
文字列、キャラクタ文字列、または文字定数。
date
-
DATE の列、あるいは暗黙的に DATE に変換される式。
time
-
TIME の列、あるいは暗黙的に TIME に変換される式。
timetz
-
TIMETZ の列、あるいは暗黙的に TIMETZ に変換される式。
例
次のサンプルテーブル TIME_TEST には、3 つの値が挿入された列 TIME_VAL (TIME 型) があります。
select date '2000-01-02' + time_val as ts from time_test;