に最終更新
QUARTER_CEIL
説明
日時の値を、指定した四半期単位の期間の境界まで切り上げます。起点となる時刻を指定した場合は、その時刻を基準に期間を計算します。
構文
QUARTER_CEIL(<datetime>)
QUARTER_CEIL(<datetime>, <origin>)
QUARTER_CEIL(<datetime>, <period>)
QUARTER_CEIL(<datetime>, <period>, <origin>)
パラメータ
| パラメータ | 説明 |
|---|---|
<datetime> | 切り上げる日時の値。型は DATE または DATETIME です。 |
<period> | 期間を構成する四半期の数を表す値。型は INT です。 |
<origin> | 期間の起点。型は DATE または DATETIME で、デフォルト値は 0001-01-01 00:00:00 です。 |
補足:
- 期間を指定しない場合は、1 四半期を期間として指定した場合と同じです。
- 期間が正の整数でない場合、関数は NULL を返します。
- 結果は常に将来の時刻へ切り上げられます。
- 戻り値の時刻部分は常に 00:00:00 です。
戻り値
<datetime> が DATE 型の場合、戻り値の型は DATE です。
<datetime> が DATETIME 型の場合、戻り値の型は DATETIME です。
切り上げ後の日時の値を返します。結果の時刻部分は 00:00:00 に設定されます。
例
'0001-01-01 00:00:00' を起点とし、それぞれ 5 四半期、4 四半期を期間として、入力日時に最も近い次の期間開始時点を返します。
SELECT QUARTER_CEIL("2023-07-13 22:28:18", 5), QUARTER_CEIL("2023-07-13 22:28:18", 4);
+----------------------------------------+----------------------------------------+
| QUARTER_CEIL("2023-07-13 22:28:18", 5) | QUARTER_CEIL("2023-07-13 22:28:18", 4) |
+----------------------------------------+----------------------------------------+
| 2024-10-01 00:00:00.000000 | 2024-01-01 00:00:00.000000 |
+----------------------------------------+----------------------------------------+
'2022-01-01 00:00:00' を期間の起点とし、それぞれ 2 四半期、4 四半期を期間として、入力日時に最も近い次の期間開始時点を返します。
SELECT QUARTER_CEIL("2023-03-13 22:28:18", 2, "2022-01-01 00:00:00"), QUARTER_CEIL("2023-07-13 22:28:18", 4, "2022-01-01 00:00:00");
+---------------------------------------------------------------+---------------------------------------------------------------+
| QUARTER_CEIL("2023-03-13 22:28:18", 2, "2022-01-01 00:00:00") | QUARTER_CEIL("2023-07-13 22:28:18", 4, "2022-01-01 00:00:00") |
+---------------------------------------------------------------+---------------------------------------------------------------+
| 2023-07-01 00:00:00 | 2024-01-01 00:00:00 |
+---------------------------------------------------------------+---------------------------------------------------------------+
ベストプラクティス
関連項目: date_ceil