云日志服务 LTS-日期和时间函数:time_ceil函数

时间:2024-07-25 10:14:31

time_ceil函数

将时间戳舍入,将其作为新的时间戳返回。Period可以是任何ISO8601的周期,如P3M(季度)或PT12H(半天)。指定Origin作为时间戳,以设置舍入的参考时间。例如,TIME_CEIL(time, 'PT1H', '2016-06-27 00:30:00')测量的小时周期从00:30-01:30而不是00:00-01:00。时区(如果提供)应该是时区名称,如“America/Los_Angeles”或偏移量,如“-08:00”。此功能与ceil_to类似,但更灵活。

语法:time_ceil(expr, period, [origin, [timezone]])

origi和timezone加中括号表示可选,非必填。

表25 参数说明

参数名称

描述

类型

是否必选

expr

日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS

String

period

ISO8601的周期

String

origin

原始时间,格式为yyyy-MM-dd HH:mm:ss.SSS

String

timezone

时区

String

返回值类型:String类型

示例1:SELECT TIME_CEIL('2023-04-23 06:46:40.000', 'PT2H')

表26 查询分析结果

类型

场景

查询语句

TIME_CEIL('2023-04-23 06:46:40.000', 'PT2H')

返回结果

2023-04-23 08:00:00.000

示例2:SELECT TIME_CEIL('2023-04-25 06:53:45.000', 'PT2H', '2012-12-18 01:20:21.000')

表27 查询分析结果

类型

场景

查询语句

TIME_CEIL('2023-04-25 06:53:45.000', 'PT2H', '2012-12-18 01:20:21.000')

返回结果

2023-04-25 07:20:21.000

示例3:SELECT TIME_CEIL('2023-04-25 09:44:35.000', 'PT2H', '2012-12-18 04:11:11.000', 'Europe/Rome')

表28 查询分析结果

类型

场景

查询语句

TIME_CEIL('2023-04-25 09:44:35.000', 'PT2H', '2012-12-18 04:11:11.000', 'Europe/Rome')

返回结果

2023-04-25 10:11:11.000

Period描述:

period的格式应为P[n]Y[n]M[n]DT[n]H[n]M[n]S或P[n]W。在这些表示中,【n】是日期和时间元素的数量。不需要前导零,但每个元素的最大位数应由通信各方商定。大写字母P、Y、M、W、D、T、H、M和S是每个日期和时间元素的指示符,不被替换。

P是放置在持续时间表示的开始处的持续时间指示符(对于期间)。

Y是日历年数值之后的年指示符。

M是日历月数值之后的月份指示符。

W是周数值之后的周指示符。

D是日历天数值之后的日期指示符。

T是表示的时间分量之前的时间指示符。

H是小时数值之后的小时指示符。

M是分钟指示符,紧随分钟数的值。

S是秒数值之后的第二个指示符。

例如,“P3Y6M4DT12H30M5S”表示“三年六个月四天十二小时三十分五秒”的持续时间。

更多信息,请访问https://en.wikipedia.org/wiki/ISO_8601

support.huaweicloud.com/usermanual-lts/lts_07_0206.html