メインコンテンツまでスキップ

MONTH_FLOOR

説明

日時値を指定された最も近い月間隔に切り下げます。開始時刻(origin)が提供されている場合、間隔を計算する際の基準としてその時刻を使用します。

構文

MONTH_FLOOR(<datetime>)
MONTH_FLOOR(<datetime>, <origin>)
MONTH_FLOOR(<datetime>, <period>)
MONTH_FLOOR(<datetime>, <period>, <origin>)

パラメータ

パラメータ説明
<datetime>切り下げする日時値、DATETIME または DATETIMEV2 型
<period>月間隔値、INT 型、各間隔の月数を表す
<origin>間隔の開始点、DATETIME または DATETIMEV2 型;デフォルトは 0001-01-01 00:00:00

戻り値

切り下げされた日時値を表す DATETIME 型の値を返します。結果の時刻部分は 00:00:00 に設定されます。

SELECT MONTH_FLOOR("2023-07-13 22:28:18", 5);
+--------------------------------------------------------------+
| month_floor(cast('2023-07-13 22:28:18' as DATETIMEV2(0)), 5) |
+--------------------------------------------------------------+
| 2023-05-01 00:00:00 |
+--------------------------------------------------------------+

注意:

  • 期間が指定されていない場合、デフォルトで1ヶ月間隔になります。
  • 期間は正の整数である必要があります。
  • 結果は常に過去の時刻に切り下げられます。
  • 返される値の時刻部分は常に00:00:00に設定されます。
  • MONTH_CEILとは異なり、MONTH_FLOORは常に間隔を超える部分を破棄します。

ベストプラクティス

date_floorも参照してください