DATE_CEIL
更新时间:2025-10-17
描述
date_ceil
将日期转化为指定的时间间隔周期的最近上取整时刻。
语法
DATE_CEIL(<datetime>, INTERVAL <period> <type>)
参数
参数 | 说明 |
---|---|
datetime |
参数是合法的日期表达式 |
period |
参数是指定每个周期有多少个单位组成,开始的时间起点为 0001-01-01T00:00:00 |
type |
参数可以是:YEAR, MONTH, DAY, HOUR, MINUTE, SECOND |
返回值
返回的是一个日期或时间值,表示将输入值向上舍入到指定单位的结果。
举例
SQL
1select date_ceil("2023-07-13 22:28:18",interval 5 second);
Text
1+--------------------------------------------------------------+
2| second_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
3+--------------------------------------------------------------+
4| 2023-07-13 22:28:20 |
5+--------------------------------------------------------------+
SQL
1select date_ceil("2023-07-13 22:28:18",interval 5 minute);
2+--------------------------------------------------------------+
3| minute_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
4+--------------------------------------------------------------+
5| 2023-07-13 22:30:00 |
6+--------------------------------------------------------------+
SQL
1select date_ceil("2023-07-13 22:28:18",interval 5 hour);
Text
1+------------------------------------------------------------+
2| hour_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
3+------------------------------------------------------------+
4| 2023-07-13 23:00:00 |
5+------------------------------------------------------------+
SQL
1select date_ceil("2023-07-13 22:28:18",interval 5 day);
Text
1+-----------------------------------------------------------+
2| day_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
3+-----------------------------------------------------------+
4| 2023-07-15 00:00:00 |
5+-----------------------------------------------------------+
SQL
1select date_ceil("2023-07-13 22:28:18",interval 5 month);
Text
1+-------------------------------------------------------------+
2| month_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
3+-------------------------------------------------------------+
4| 2023-12-01 00:00:00 |
5+-------------------------------------------------------------+
SQL
1select date_ceil("2023-07-13 22:28:18",interval 5 year);
Text
1+------------------------------------------------------------+
2| year_ceil('2023-07-13 22:28:18', 5, '0001-01-01 00:00:00') |
3+------------------------------------------------------------+
4| 2026-01-01 00:00:00 |
5+------------------------------------------------------------+