すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:日時関数と演算子

最終更新日:Sep 29, 2024

AnalyticDB for PostgreSQLは、PostgreSQLの日時関数および演算子と互換性があります。 このトピックでは、AnalyticDB for PostgreSQLでサポートされている日時関数と演算子について説明し、日時関数と演算子の使用方法の例を示します。

PostgreSQLの日時関数および演算子については、「date /time関数および演算子」をご参照ください。

日付と時間の関数

関数

戻り値のデータ型

説明

サンプル結果

年齢 (,)

interval

2つのタイムスタンプの間隔を計算します。

年齢 (タイムスタンプ '2001-04-10 '、タイムスタンプ '1957-06-13')

43年9モン27日

年齢 ()

interval

現在の時刻と特定のタイムスタンプの間隔を計算します。

年齢 (タイムスタンプ '1957-06-13 ')

43年8モン3日

clock_timestamp()

タイムスタンプとタイムゾーン

現在の日付と時刻を返します。

clock_timestamp()

2024-07-01 20:00:00

current_date

日付

現在の日付を返します。

current_date

2024-07-01 20:00:00

current_time

タイムゾーン

現在の時間を返します。

current_time

2024-07-01 20:00:00

current_timestamp

タイムスタンプとタイムゾーン

現在のトランザクションの有効期間内の現在の日付と時刻を含む現在のタイムスタンプを返します。

current_timestamp

2024-07-01 20:00:00

date_part(,)

ダブル精度

タイムスタンプから特定のサブフィールドの値を抽出します。

date_part('hour' 、timestamp '2001-02-16 20:38:40 ')

20

date_part(,)

ダブル精度

インターバルから特定のサブフィールドの値を抽出します。 この関数はdate_part('subfield', interval) 形式です。

date_part (「月」、間隔「2年3か月」)

3

date_trunc(,)

timestamp

タイムスタンプを特定の精度に切り捨てます。

date_trunc('hour' 、timestamp '2001-02-16 20:38:40 ')

2001-02-16 20:00:00

date_trunc(,,)

タイムスタンプとタイムゾーン

タイムスタンプを特定のタイムゾーンで特定の精度に切り捨てます。

date_trunc('day', timestamptz '2001-02-16 20:38:40 + 00 ', 'Australia/Sydney')

2001-02-16 13:00:00 + 00

date_trunc(,)

interval

インターバルを特定の精度に切り捨てます。

date_trunc('hour '、interval '2日3時間40分)

2日03:00:00

extract (timestamp)

ダブル精度

タイムスタンプから時間などの特定のサブフィールドの値を抽出します。

抽出 (時間からタイムスタンプ '2001-02-16 20:38:40 ')

20

extract (interval)

ダブル精度

インターバルから特定のサブフィールドの値を抽出します。 この関数は、抽出 (区間からのサブフィールド) 形式である。

抽出物 (月から间隔 '2年3ヶ月 ')

3

isfinite()

ブール値

文字列が有限の日付かどうかをチェックします。 文字列が有限の日付の場合、この関数はtrueを返します。 それ以外の場合、この関数はfalseを返します。

isfinite (日付 '2001-02-16 ')

true

isfinite()

ブール値

文字列が有限タイムスタンプかどうかをチェックします。 文字列が有限のタイムスタンプの場合、この関数はtrueを返します。 それ以外の場合、この関数はfalseを返します。

isfinite (タイムスタンプ '2001-02-16 21:28:30 ')

true

isfinite()

ブール値

文字列が有限区間かどうかをチェックします。 文字列が有限区間の場合、この関数はtrueを返します。 それ以外の場合、この関数はfalseを返します。

isfinite (間隔「4時間」)

true

justify_days()

interval

日単位の間隔を、月と日単位の対応する間隔に変換します。

justify_days (間隔 '35 days ')

1モン5日

justify_hours()

interval

時間単位の間隔を、日と時間単位の対応する間隔に変換します。

justify_hours (間隔 '27時間 ')

1日03:00:00

justify_interval()

interval

justify_days() およびjustify_hours() 関数を使用して間隔を変換します。

justify_interval (間隔 '1 mon -1 hour')

29日23:00:00

localtime

時間

AnalyticDB for PostgreSQLインスタンスの現在の日付と時刻を返します。

localtime

2024-07-01 08:15:23

localtimestamp

timestamp

AnalyticDB for PostgreSQLインスタンスの現在の日付と時刻を秒またはミリ秒の精度で返します。

localtimestamp

2024-07-01 08:15:23

make_date(,,)

日付

指定された年、月、日のフィールドに基づいて日付を作成します。

make_date(2013, 7,15)

2013-07-15

make_interval(DEFAULT 0,DEFAULT 0,DEFAULT 0,DEFAULT 0,DEFAULT 0,DEFAULT 0,DEFAULT 0.0)

interval

指定された年、月、週、日、時間、分、秒のフィールドに基づいて間隔を作成します。

make_interval(days => 10)

10日

make_time(,,)

時間

指定された時間、分、秒のフィールドに基づいて時間を作成します。 第2フィールドは、より細かい粒度の小数を含むことができる。

make_time(8、15、23.5)

08:15:23.5

make_timestamp (,,,,,,)

timestamp

指定された年、月、日、時、分、秒のフィールドに基づいてタイムスタンプを作成します。 第2フィールドは、より細かい粒度の小数を含むことができる。

make_timestamp(2013、7、15、8、15、23.5)

2013-07-15 08:15:23.5

make_timestamptz (,,,,,,, [])

タイムスタンプとタイムゾーン

指定された年、月、日、時、分、秒、およびタイムゾーン (オプション) フィールドに基づいてタイムゾーンのタイムスタンプを作成します。 第2フィールドは、より細かい粒度の小数を含むことができる。 タイムゾーンを指定しない場合は、現在のタイムゾーンが使用されます。

make_timestamptz(2013、7、15、8、15、23.5)

2013-07-15 08:15:23.5 + 01

now()

タイムスタンプとタイムゾーン

現在のトランザクションが開始されたときのタイムスタンプを返します。

now()

2024-07-01 08:15:23.5 + 01

statement_timestamp()

タイムスタンプとタイムゾーン

現在のクエリまたはステートメントの実行が開始された日時を返します。

statement_timestamp()

2024-07-01 08:15:23.5 + 01

timeofday()

テキスト

ほとんどの場合、現在の時間、分、秒を含む現在の時刻を返します。

timeofday()

2024-07-01 08:15:23.5 + 01

transaction_timestamp()

タイムスタンプとタイムゾーン

現在のトランザクションが開始されたときのタイムスタンプを返します。

transaction_timestamp()

2024-07-01 08:15:23.5 + 01

to_timestamp()

タイムスタンプとタイムゾーン

1月1日1970 00:00:00 UTCから経過した秒数を表すUNIX時刻をタイムスタンプに変換します。

to_timestamp(1284352323)

2010-09-13 04:32:03 + 00

時間と日付の演算子

演算子

サンプル結果

+

日付 '2001-09-28 '+ 整数 '7'

日付 '2001-10-05 '

+

日付「2001-09-28」 + 間隔「1時間」

タイムスタンプ '2001-09-28 01:00:00 '

+

日付 '2001-09-28 '+ 時間 '03:00'

タイムスタンプ '2001-09-28 03:00:00 '

+

間隔「1日」 + 間隔「1時間」

間隔 '1日01:00:00 '

+

タイムスタンプ '2001-09-28 01:00 '+ 間隔 '23時間'

タイムスタンプ '2001-09-29 00:00:00 '

+

time '01:00 '+ interval '3 hours'

時間 '04:00:00 '

-

-間隔「23時間」

interval '-23:00:00'

-

日付 '2001-10-01 '-日付 '2001-09-28'

整数 '3'

-

日付 '2001-10-01 '-整数 '7'

日付 '2001-09-24 '

-

日付 '2001-09-28 '-間隔 '1時間'

タイムスタンプ '2001-09-27 23:00:00 '

-

time '05:00 ' - time '03:00'

interval '02:00:00 '

-

時間 '05:00 '-インターバル '2時間

時間 '03:00:00 '

-

タイムスタンプ '2001-09-28 23:00 '-間隔 '23時間'

タイムスタンプ '2001-09-28 00:00:00 '

-

間隔「1日」-間隔「1時間」

間隔 '1日-01:00:00 '

-

timestamp '2001-09-29 03:00 ' - timestamp '2001-09-27 12:00'

間隔「1日15:00:00」

*

900 * 間隔「1秒」

間隔 '00:15:00 '

*

21 * インターバル「1日」

インターバル「21日」

*

倍精度「3.5」 * インターバル「1時間」

間隔 '03:30:00 '

/

間隔「1時間」 /倍精度「1.5」

間隔 '00:40:00 '