date_floor

description

Syntax

DATETIME DATE_FLOOR(DATETIME datetime, INTERVAL period type)

Converts a date to the nearest rounding down time of a specified time interval period.

The datetime parameter is a valid date expression.

The period parameter specifies how many units each cycle consists of, starting from 0001-01-01T00:00:00

type :YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.

example

1. mysql>select date_floor("0001-01-01 00:00:16",interval 5 second);
2. +---------------------------------------------------------------+
3. | second_floor('0001-01-01 00:00:16', 5, '0001-01-01 00:00:00') |
4. +---------------------------------------------------------------+
5. | 0001-01-01 00:00:15                                           |
6. +---------------------------------------------------------------+
7. 1 row in set (0.00 sec)

9. mysql>select date_floor("0001-01-01 00:00:18",interval 5 second);
10. +---------------------------------------------------------------+
11. | second_floor('0001-01-01 00:00:18', 5, '0001-01-01 00:00:00') |
12. +---------------------------------------------------------------+
13. | 0001-01-01 00:00:15                                           |
14. +---------------------------------------------------------------+
15. 1 row in set (0.01 sec)

17. mysql>select date_floor("2023-07-13 22:28:18",interval 5 minute);
18. +---------------------------------------------------------------+
19. | minute_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
20. +---------------------------------------------------------------+
21. | 2023-07-13 22:25:00                                           |
22. +---------------------------------------------------------------+
23. 1 row in set (0.00 sec)

25. mysql>select date_floor("2023-07-13 22:28:18",interval 5 hour);
26. +-------------------------------------------------------------+
27. | hour_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
28. +-------------------------------------------------------------+
29. | 2023-07-13 18:00:00                                         |
30. +-------------------------------------------------------------+
31. 1 row in set (0.01 sec)

33. mysql>select date_floor("2023-07-13 22:28:18",interval 5 day);
34. +------------------------------------------------------------+
35. | day_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
36. +------------------------------------------------------------+
37. | 2023-07-10 00:00:00                                        |
38. +------------------------------------------------------------+
39. 1 row in set (0.00 sec)

41. mysql>select date_floor("2023-07-13 22:28:18",interval 5 month);
42. +--------------------------------------------------------------+
43. | month_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
44. +--------------------------------------------------------------+
45. | 2023-07-01 00:00:00                                          |
46. +--------------------------------------------------------------+
47. 1 row in set (0.01 sec)

49. mysql>select date_floor("2023-07-13 22:28:18",interval 5 year);
50. +-------------------------------------------------------------+
51. | year_floor('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
52. +-------------------------------------------------------------+
53. | 2021-01-01 00:00:00                                         |
54. +-------------------------------------------------------------+

keywords

1. DATE_FLOOR,DATE,FLOOR