跳到主要内容

WEEK_CEIL

描述

将日期时间值向上舍入到最接近的指定周间隔。如果提供了起始时间(origin),则使用该时间作为计算间隔的参考点。

语法

WEEK_CEIL(<datetime>)
WEEK_CEIL(<datetime>, <origin>)
WEEK_CEIL(<datetime>, <period>)
WEEK_CEIL(<datetime>, <period>, <origin>)

参数

参数说明
<datetime>要向上舍入的日期时间值,类型为 DATETIME 或 DATETIMEV2
<period>周间隔值,类型为 INT,表示每个间隔的周数
<origin>间隔的起始点,类型为 DATETIME 或 DATETIMEV2;默认为 0001-01-01 00:00:00

返回值

返回类型为 DATETIME,表示向上舍入后的日期时间值。结果的时间部分将被设置为 00:00:00。

注意:

  • 如果未指定周期,则默认为 1 周间隔。
  • 周期必须是正整数。
  • 结果总是向上舍入到未来的时间。
  • 返回值的时间部分始终设置为 00:00:00。

举例

SELECT WEEK_CEIL('2023-07-13 22:28:18', 2);
+-----------------------------------------------------------+
| week_ceil(cast('2023-07-13 22:28:18' as DATETIMEV2(0)), 2) |
+-----------------------------------------------------------+
| 2023-07-17 00:00:00 |
+-----------------------------------------------------------+