| --- |
| { |
| "title": "date_ceil", |
| "language": "en" |
| } |
| --- |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| ## date_ceil |
| ### description |
| #### Syntax |
| |
| `DATETIME DATE_CEIL(DATETIME datetime, INTERVAL period type)` |
| |
| |
| Convert the date to the nearest rounding up time of the 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 |
| |
| ``` |
| mysql [(none)]>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 | |
| +--------------------------------------------------------------+ |
| 1 row in set (0.01 sec) |
| |
| mysql [(none)]>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 | |
| +--------------------------------------------------------------+ |
| 1 row in set (0.01 sec) |
| |
| mysql [(none)]>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 | |
| +------------------------------------------------------------+ |
| 1 row in set (0.01 sec) |
| |
| mysql [(none)]>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 | |
| +-----------------------------------------------------------+ |
| 1 row in set (0.00 sec) |
| |
| mysql [(none)]>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 | |
| +-------------------------------------------------------------+ |
| 1 row in set (0.01 sec) |
| |
| mysql [(none)]>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 | |
| +------------------------------------------------------------+ |
| 1 row in set (0.00 sec) |
| ``` |
| |
| ### keywords |
| |
| DATE_CEIL,DATE,CEIL |
| |
| ### Best Practice |
| |
| See also |
| - [second_ceil](./second_ceil) |
| - [minute_ceil](./minute_ceil) |
| - [hour_ceil](./hour_ceil) |
| - [day_ceil](./day_ceil) |
| - [month_ceil](./month_ceil) |
| - [year_ceil](./year_ceil) |