日付および時刻関数 - AWS Clean Rooms

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

日付および時刻関数

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;