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も参照してください