メインコンテンツまでスキップ
に最終更新

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