メインコンテンツまでスキップ
バージョン: 4.x

DATE_FLOOR

説明

date_floorは、指定された時間間隔の最も近い下位境界に対して、与えられた日付を丸めます。

構文

DATE_FLOOR(<datetime>, INTERVAL <period> <type>)

パラメータ

Parameterデスクリプション
datetimeこの引数は有効な日付式です
periodこの引数は各期間を構成する単位数を指定し、開始時刻は0001-01-01T00:00:00です
typeこの引数は次のいずれかです:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND
ヒント

QUARTERはバージョン3.0.8および3.1.0以降でサポートされています。

戻り値

戻り値は日付または時刻で、入力値を指定された単位に切り下げて丸めた結果を表します。

select date_floor("0001-01-01 00:00:16",interval 5 second);
+---------------------------------------------------------------+
| second_floor('0001-01-01 00:00:16', 5, '0001-01-01 00:00:00') |
+---------------------------------------------------------------+
| 0001-01-01 00:00:15 |
+---------------------------------------------------------------+
select date_floor("0001-01-01 00:00:18",interval 5 second);
+---------------------------------------------------------------+
| second_floor('0001-01-01 00:00:18', 5, '0001-01-01 00:00:00') |
+---------------------------------------------------------------+
| 0001-01-01 00:00:15 |
+---------------------------------------------------------------+
select date_floor("2023-07-13 22:28:18",interval 5 minute);
+---------------------------------------------------------------+
| minute_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+---------------------------------------------------------------+
| 2023-07-13 22:25:00 |
+---------------------------------------------------------------+
select date_floor("2023-07-13 22:28:18",interval 5 hour);
+-------------------------------------------------------------+
| hour_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+-------------------------------------------------------------+
| 2023-07-13 18:00:00 |
+-------------------------------------------------------------+
select date_floor("2023-07-13 22:28:18",interval 5 day);
+------------------------------------------------------------+
| day_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+------------------------------------------------------------+
| 2023-07-10 00:00:00 |
+------------------------------------------------------------+
select date_floor("2023-07-13 22:28:18",interval 5 month);
+--------------------------------------------------------------+
| month_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+--------------------------------------------------------------+
| 2023-07-01 00:00:00 |
+--------------------------------------------------------------+
select date_floor("2023-07-13 22:28:18",interval 5 quarter);
+------------------------------------------------------+
| date_floor("2023-07-13 22:28:18",interval 5 quarter) |
+------------------------------------------------------+
| 2023-07-01 00:00:00 |
+------------------------------------------------------+
select date_floor("2023-07-13 22:28:18",interval 5 year);
+-------------------------------------------------------------+
| year_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+-------------------------------------------------------------+
| 2021-01-01 00:00:00 |
+-------------------------------------------------------------+