メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

日付および時刻関数

このセクションでは、Amazon Redshift がサポートする日付と時刻のスカラー関数についての情報を示します。

日付と時刻関数の概要

関数 構文 戻り値 説明
ADD_MONTHS ADD_MONTHS ({date|timestamp}, integer) TIMESTAMP 日付またはタイムスタンプに、指定された月数を追加します。
AT TIME ZONE AT TIME ZONE 'timezone' TIMESTAMP TIMESTAMP 式または TIMESTAMPTZ 式で使用するタイムゾーンを指定します。
CONVERT_TIMEZONE CONVERT_TIMEZONE (['timezone',] 'timezone', timestamp) TIMESTAMP タイムスタンプのタイムゾーンを別のタイムゾーンに変換します。
CURRENT_DATE CURRENT_DATE DATE 現在のトランザクションの開始時の日付を、現在のセッションのタイムゾーン (デフォルトは UTC) で返します。
DATE_CMP DATE_CMP (date1, date2) INTEGER 2 つの日付を比較し、日付が等しい場合は 0date1 が大きい場合は 1date2 が大きい場合は -1 をそれぞれ返します。
DATE_CMP_TIMESTAMP DATE_CMP_TIMESTAMP (date, timestamp) INTEGER 日付を時刻と比較し、値が等しい場合は 0date が大きい場合は 1timestamp が大きい場合は -1 をそれぞれ返します。
DATE_CMP_TIMESTAMPTZ DATE_CMP_TIMESTAMPTZ (date, timestamptz) INTEGER 日付とタイムゾーンを含むタイムスタンプを比較し、値が等しい場合は 0date が大きい場合は 1timestamptz が大きい場合は -1 をそれぞれ返します。
DATE_PART_YEAR DATE_PART_YEAR (date) INTEGER 日付から年を抽出します。
DATEADD DATEADD (datepart, interval, {date|timestamp}) TIMESTAMP 指定された間隔で日付または時刻を増分します。
DATEDIFF DATEDIFF (datepart, {date|time}, {date|timestamp}) BIGINT 日または月などの特定の日付部分の 2 つの日付または時刻の差を返します。
DATE_PART DATE_PART (datepart, {date|time}) DOUBLE 日付または時刻から日付部分の値を抽出します。
DATE_TRUNC DATE_TRUNC ('datepart', timestamp) TIMESTAMP 日付部分に基づいてタイムスタンプを切り捨てます。
EXTRACT EXTRACT (datepart FROM {TIMESTAMP 'literal' | timestamp}) DOUBLE タイムスタンプまたはリテラルから日付部分を抽出します。
GETDATE GETDATE() TIMESTAMP 現在のセッションのタイムゾーン (デフォルトでは UTC) で現在の日付と時刻を返します。かっこが必要です。
INTERVAL_CMP INTERVAL_CMP (interval1, interval2) INTEGER 2 つの間隔を比較し、間隔が等しい場合は 0interval1 が大きい場合は 1interval2 が大きい場合は -1 をそれぞれ返します。
LAST_DAY LAST_DAY(date) DATE date を含む月の最終日の日付を返します。
MONTHS_BETWEEN MONTHS_BETWEEN (date, date) FLOAT8 2 つの日付の間の月数を返します。
NEXT_DAY NEXT_DAY (date, day) DATE date より後に day となる最初の日付を返します。
SYSDATE SYSDATE TIMESTAMP 現在のトランザクションの開始時の日付と時刻を、現在のセッションのタイムゾーン (デフォルトは UTC) で返します。
TIMEOFDAY TIMEOFDAY() VARCHAR 現在のセッションのタイムゾーン (デフォルトでは UTC) で、現在の曜日、日付、時刻を文字列値として返します。
TIMESTAMP_CMP TIMESTAMP_CMP (timestamp1, timestamp2) INTEGER 2 つのタイムスタンプを比較し、タイムスタンプが等しい場合は 0timestamp1 が大きい場合は 1timestamp2 が大きい場合は -1 をそれぞれ返します。
TIMESTAMP_CMP_DATE TIMESTAMP_CMP_DATE (timestamp, date) INTEGER タイムスタンプと日付を比較し、値が等しい場合は 0timestamp が大きい場合は 1date が大きい場合は -1 をそれぞれ返します。
TIMESTAMP_CMP_TIMESTAMPTZ TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) INTEGER タイムスタンプと、タイムゾーンを含むタイムゾーンを比較し、値が等しい場合は 0timestamp が大きい場合は 1timestamptz が大きい場合は -1 をそれぞれ返します。
TIMESTAMPTZ_CMP TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) INTEGER タイムゾーン値を含む 2 つのタイムスタンプを比較し、値が等しい場合は 0timestamptz1 が大きい場合は 1timestamptz2 が大きい場合は -1 をそれぞれ返します。
TIMESTAMPTZ_CMP_DATE TIMESTAMPTZ_CMP_DATE (timestamptz, date) INTEGER タイムゾーンを含むタイムスタンプの値と日付を比較し、値が等しい場合は 0timestamptz が大きい場合は 1date が大きい場合は -1 をそれぞれ返します。
TIMESTAMPTZ_CMP_TIMESTAMP TIMESTAMPTZ_CMP_TIMESTAMP (timestamptz, timestamp) INTEGER タイムゾーンを含むタイムスタンプと、タイムゾーンを比較し、値が等しい場合は 0timestamptz が大きい場合は 1timestamp が大きい場合は -1 をそれぞれ返します。
TIMEZONE TIMEZONE ('timezone', { timestamp | timestamptz ) TIMESTAMP または TIMESTAMPTZ 指定されたタイムゾーンとタイムスタンプの値で、タイムスタンプ、またはタイムゾーンを含むタイムスタンプを返します。
TO_TIMESTAMP TO_TIMESTAMP ('timestamp', 'format') TIMESTAMPTZ 指定されたタイムスタンプのタイムゾーンを含むタイムスタンプとタイムゾーン形式を返します。
TRUNC TRUNC(timestamp) DATE タイムスタンプを切り捨て、日付を返します。

注記

うるう秒は経過時間の計算では考慮されません。

トランザクションにおける日付および時刻関数

トランザクションブロック (BEGIN … END) 内で次の関数を実行すると、関数は現在のステートメントではなく、現在のトランザクションの開始日または開始時刻を返します。

  • SYSDATE

  • TIMESTAMP

  • CURRENT_DATE

次の関数は、トランザクションブロック内にある場合でも、現在のステートメントの開始日または開始時刻を常に返します。

  • GETDATE

  • TIMEOFDAY

廃止されたリーダーノード専用の関数

次の日付関数は、リーダーノードのみで実行されるため、廃止されました。詳細については、「リーダーノード専用関数」を参照してください。