日付および時刻関数
このセクションでは、Amazon Redshift がサポートする日付と時刻のスカラー関数についての情報を示します。
トピック
- 日付と時刻関数の概要
- トランザクションにおける日付および時刻関数
- 廃止されたリーダーノード専用の関数
- + (連結) 演算子
- ADD_MONTHS 関数
- AT TIME ZONE 関数
- CONVERT_TIMEZONE 関数
- CURRENT_DATE 関数
- DATE_CMP 関数
- DATE_CMP_TIMESTAMP 関数
- DATE_CMP_TIMESTAMPTZ 関数
- DATEADD 関数
- DATEDIFF 関数
- DATE_PART 関数
- DATE_PART_YEAR 関数
- DATE_TRUNC 関数
- EXTRACT 関数
- GETDATE 関数
- INTERVAL_CMP 関数
- LAST_DAY 関数
- MONTHS_BETWEEN 関数
- NEXT_DAY 関数
- SYSDATE 関数
- TIMEOFDAY 関数
- TIMESTAMP_CMP 関数
- TIMESTAMP_CMP_DATE 関数
- TIMESTAMP_CMP_TIMESTAMPTZ 関数
- TIMESTAMPTZ_CMP 関数
- TIMESTAMPTZ_CMP_DATE 関数
- TIMESTAMPTZ_CMP_TIMESTAMP 関数
- TIMEZONE 関数
- TO_TIMESTAMP 関数
- TRUNC 関数
- 日付関数またはタイムスタンプ関数の日付部分
日付と時刻関数の概要
関数 | 構文 | 戻り値 |
---|---|---|
+ (連結) 演算子
+ 記号の両側のいずれかの方で日付を時刻に連結し、TIMESTAMP または TIMESTAMPTZ を返します。 |
date + time | TIMESTAMP 、または TIMESTAMPZ |
ADD_MONTHS 日付またはタイムスタンプに、指定された月数を追加します。 |
ADD_MONTHS ({date|timestamp}, integer) | TIMESTAMP |
AT TIME ZONE TIMESTAMP 式または TIMESTAMPTZ 式で使用するタイムゾーンを指定します。 |
AT TIME ZONE 'timezone' | TIMESTAMP 、または TIMESTAMPZ |
CONVERT_TIMEZONE タイムスタンプのタイムゾーンを別のタイムゾーンに変換します。 |
CONVERT_TIMEZONE (['timezone',] 'timezone', timestamp) | TIMESTAMP |
CURRENT_DATE 現在のトランザクションの開始時の日付を、現在のセッションのタイムゾーン (デフォルトは UTC) で返します。 |
CURRENT_DATE | DATE |
DATE_CMP 2 つの日付を比較し、日付が同一である場合は |
DATE_CMP (date1, date2) | INTEGER |
DATE_CMP_TIMESTAMP 日付を時刻と比較し、値が同一の場合は |
DATE_CMP_TIMESTAMP (date, timestamp) | INTEGER |
DATE_CMP_TIMESTAMPTZ 日付とタイムゾーン付きのタイムスタンプを比較し、値が同一の場合は |
DATE_CMP_TIMESTAMPTZ (date, timestamptz) | INTEGER |
DATE_PART_YEAR 日付から年を抽出します。 |
DATE_PART_YEAR (date) | INTEGER |
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 |
INTERVAL_CMP 2 つの間隔を比較し、間隔が等しい場合は |
INTERVAL_CMP (interval1, interval2) | INTEGER |
LAST_DAY date を含む月の最終日の日付を返します。 |
LAST_DAY(date) | DATE |
MONTHS_BETWEEN 2 つの日付の間の月数を返します。 |
MONTHS_BETWEEN (date, date) | FLOAT8 |
NEXT_DAY 指定の日付より後に指定の曜日となる最初のインスタンスの日付を返します。 |
NEXT_DAY (date, day) | DATE |
SYSDATE 現在のトランザクション開始時の日付と時刻 (UTC) を返します。 |
SYSDATE | TIMESTAMP |
TIMEOFDAY 現在のセッションのタイムゾーン (デフォルトでは UTC) で、現在の曜日、日付、時刻を文字列値として返します。 |
TIMEOFDAY() | VARCHAR |
TIMESTAMP_CMP 2 つのタイムスタンプを比較し、タイムスタンプが等しい場合は |
TIMESTAMP_CMP (timestamp1, timestamp2) | INTEGER |
TIMESTAMP_CMP_DATE タイムスタンプと日付を比較し、値が同一の場合は |
TIMESTAMP_CMP_DATE (timestamp, date) | INTEGER |
TIMESTAMP_CMP_TIMESTAMPTZ タイムスタンプをタイムゾーン付きのタイムスタンプと比較し、値が等しい場合は |
TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) | INTEGER |
TIMESTAMPTZ_CMP タイムゾーン付きの 2 つのタイムスタンプの値を比較し、値が等しい場合は |
TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) | INTEGER |
TIMESTAMPTZ_CMP_DATE タイムゾーン付きのタイムスタンプの値と日付を比較し、値が等しい場合は |
TIMESTAMPTZ_CMP_DATE (timestamptz, date) | INTEGER |
TIMESTAMPTZ_CMP_TIMESTAMP タイムゾーン付きのタイムスタンプをタイムスタンプと比較し、値が等しい場合は |
TIMESTAMPTZ_CMP_TIMESTAMP (timestamptz, timestamp) | INTEGER |
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
廃止されたリーダーノード専用の関数
次の日付関数は、リーダーノードのみで実行されるため、非推奨となりました。詳細については、「リーダーノード専用関数」を参照してください。
-
AGE。代わりに DATEDIFF 関数 を使用します。
-
CURRENT_TIME。代わりに GETDATE 関数 または SYSDATE を使用します。
-
CURRENT_TIMESTAMP。代わりに GETDATE 関数 または SYSDATE を使用します。
-
LOCALTIME。代わりに GETDATE 関数 または SYSDATE を使用します。
-
LOCALTIMESTAMP。代わりに GETDATE 関数 または SYSDATE を使用します。
-
ISFINITE
-
NOW。代わりに GETDATE 関数 または SYSDATE を使用します。