Skip to main content

DATE_CEIL

Description​

date_ceil rounds a given date to the next upper boundary of the specified time interval.

Syntax​

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

Parameters​

ParameterDescription
datetimeThe argument is a valid date expression
periodThe argument specifies how many units make up each period, with the start time being 0001-01-01T00:00:00
typeThe argument can be: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND

Return Value​

The return value is a date or time, representing the result of rounding the input value up to the specified unit.

Examples​

select date_ceil("2023-07-13 22:28:18",interval 5 second);
+--------------------------------------------------------------+
| second_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+--------------------------------------------------------------+
| 2023-07-13 22:28:20 |
+--------------------------------------------------------------+
select date_ceil("2023-07-13 22:28:18",interval 5 minute);
+--------------------------------------------------------------+
| minute_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+--------------------------------------------------------------+
| 2023-07-13 22:30:00 |
+--------------------------------------------------------------+
select date_ceil("2023-07-13 22:28:18",interval 5 hour);
+------------------------------------------------------------+
| hour_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+------------------------------------------------------------+
| 2023-07-13 23:00:00 |
+------------------------------------------------------------+
select date_ceil("2023-07-13 22:28:18",interval 5 day);
+-----------------------------------------------------------+
| day_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+-----------------------------------------------------------+
| 2023-07-15 00:00:00 |
+-----------------------------------------------------------+
select date_ceil("2023-07-13 22:28:18",interval 5 month);
+-------------------------------------------------------------+
| month_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+-------------------------------------------------------------+
| 2023-12-01 00:00:00 |
+-------------------------------------------------------------+
select date_ceil("2023-07-13 22:28:18",interval 5 year);
+------------------------------------------------------------+
| year_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
+------------------------------------------------------------+
| 2026-01-01 00:00:00 |
+------------------------------------------------------------+