华为云用户手册

  • yow函数 返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。 语法:yow(expr) 表66 参数说明 参数名称 描述 类型 是否必选 expr 时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS或yyyy-MM-dd String 是 返回值类型:Integer类型 示例:SELECT YOW('2023-09-22 14:47:59.325'), YOW('2023-09-22') 表67 查询分析结果 类型 场景1 场景2 查询语句 YOW('2023-09-22 14:47:59.325') YOW('2023-09-22') 返回结果 2023 2023
  • time_series函数 用于补全您查询时间窗口内缺失的数据。time_series函数必须搭配GROUP BY语法和ORDER BY语法使用。 语法:time_series(x, window_time, format, padding_data) 表68 参数说明 参数名称 描述 类型 是否必选 x 原始字段。 long或date 是 window_time 窗口大小,单位为s(秒)、m(分)、h(小时)、d(天)。例如2h、5m、3d。 String 是 format 返回结果的时间格式。 String 是 padding_data 补全的内容。包括:0:将缺失的值设置为0。null:将缺失的值设置为null。last:将缺失的值设置了上一个时间点对应的值。next:将缺失的值设置了下一个时间点对应的值。avg:将缺失的值设置为前后两个时间点的平均值。 String 是 返回值类型:String 示例:select time_series(__time__, '1d', 'HH:mm:ss','0') as time, count(*) as count group by time order by time asc 表69 查询分析结果 类型 场景 查询语句 time_series(__time__, '1d', 'HH:mm:ss','0') as time, count(*) as count group by time order by time asc 返回结果
  • date_trunc函数 根据您指定的时间单位截断日期和时间表达式,并以毫秒、秒、分钟、小时、天、月或年为单位对齐。 语法:date_trunc(unit, expr) 表53 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT DATE_TRUNC('year', '2022-11-20 12:20:30.123') 表54 查询分析结果 类型 场景 查询语句 DATE_TRUNC('year', '2022-11-20 12:20:30.123') 返回结果 2022-01-01 00:00:00.000
  • year_of_week函数 返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。 语法:year_of_week(expr) 参数说明: 参数名称 描述 类型 是否必选 expr 时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS或yyyy-MM-dd String 是 返回值类型:Integer类型 示例:SELECT YEAR_OF_WEEK('2023-09-22 14:47:59.325'), YEAR_OF_WEEK('2023-09-22') 表65 查询分析结果 类型 场景1 场景2 查询语句 YEAR_OF_WEEK('2023-09-22 14:47:59.325') YEAR_OF_WEEK('2023-09-22') 返回结果 2023 2023
  • date_diff函数 返回时间戳expr1和时间戳expr2之间的单位数(有符号)。 语法:date_diff(unit, expr1, expr2) 表55 参数说明 参数名称 描述 类型 是否必选 expr1 第一个日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 expr2 第二个日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT DATE_DIFF('MONTH', NOW(),'2022-11-20 12:20:30.123') 表56 查询分析结果 类型 场景 查询语句 DATE_DIFF('MONTH', NOW(),'2022-11-20 12:20:30.123') 返回结果 4
  • date_add函数 给时间加上给定的时间间隔。 语法:date_add(unit, n, expr) 表59 参数说明 参数名称 描述 类型 是否必选 unit 时间单位,取值为millisecond、second、minute、hour、day、week、month、quarter、year String 是 n 时间间隔 Long 是 expr 时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 返回值类型:String类型 示例:SELECT DATE_ADD('minute', 7, '2023-05-15 16:14:00.569') 表60 查询分析结果 类型 场景 查询语句 DATE_ADD('minute', 7, '2023-05-15 16:14:00.569') 返回结果 2023-05-15 16:21:00.569
  • timezone_minute函数 计算时区的分钟偏移量。 语法:timezone_minute(expr) 表41 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS TIMEZONE String 否 返回值类型:Integer类型 示例:SELECT TIMEZONE_MINUTE('2023-04-22 15:31:30.000 Europe/Rome') 表42 查询分析结果 类型 场景 查询语句 TIMEZONE_MINUTE('2023-04-22 15:31:30.000 Europe/Rome') 返回结果 0
  • date_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。与time_format函数功能一致。 语法:date_format(expr, format) 表46 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 format 时间格式 String 是 返回值类型:String类型 示例:SELECT DATE_FORMAT(current_timestamp(),'%H%i') 表47 查询分析结果 类型 场景 查询语句 DATE_FORMAT(current_timestamp(),'%H%i') 返回结果 1432 format参数说明: %a:星期的缩写。例如Sun、Sat。 %b:月份的缩写。例如Jan、Dec。 %c:月份。数值类型,取值范围为1~12。 %D:每月的第几天。需加上后缀,例如0th、1st、2nd、3rd。 %d:每月的第几天。十进制格式,取值范围为01~31。 %e:每月的第几天。十进制格式,取值范围为1~31。 %H:小时,24小时制。 %h:小时,12小时制。 %i:分钟。数值类型,取值范围为00~59。 %j:每年的第几天。取值范围为001~366。 %k:小时。取值范围为0~23。 %l:小时。取值范围为1~12。 %M:月份的英文表达,例如January、December。 %m:月份。数值格式,取值范围为01~12。 %p:AM、PM。 %r:时间。12小时制,格式为hh:mm:ss AM/PM。 %S:秒。取值范围为00~59。 %s:秒。取值范围为00~59。 %f:毫秒。取值范围为000~999。 %T:时间。24小时制,格式为hh:mm:ss。 %v:每年的第几周,星期一是一周的第一天。取值范围为01~53。 %W:星期几的名称。例如Sunday、Saturday。 %Y:4位数的年份。例如2020。 %y:2位数的年份。例如20。 %%:%的转义字符。
  • time_extract函数 通过指定字段提取日期时间表达式的日期或时间部分。EPOCH, SECOND, MINUTE, HOUR, DAY(月的日), DOW(周的日), DOY(年的日), WEEK(年周), MONTH(1到12), QUARTER(1到4),或YEAR,时区(如果提供)应为时区名称,如"America/Los_Angeles"或偏移量,如"-08:00" 语法:time_extract(expr, unit) 表51 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Long类型 示例:SELECT TIME_EXTRACT('2023-05-05','YEAR') 表52 查询分析结果 类型 场景 查询语句 TIME_EXTRACT('2023-05-05','YEAR') 返回结果 2023
  • date_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 语法:date_parse(expr, pattern) 表49 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式。 String 是 pattern 日期和时间表达式的转换格式 String 是 返回值类型:timestamp类型 示例:SELECT DATE_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 表50 查询分析结果 类型 场景 查询语句 DATE_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 返回结果 1996-03-22 14:32:00.000 pattern在设置时,如果设置了分钟,那么就必须同时配置分钟之前的年、月、日和时。
  • time_shift函数 将时间戳expr移动一个Period(步长时间)。Period可以是任何ISO8601的Period。 语法:time_shift(expr, period, step, [timezone]) 表37 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 period ISO8601的周期 String 是 step 步长 Integer 是 timezone 时区 String 否 返回值类型:String类型 示例:SELECT TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5), TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5, 'Asia/Shanghai') 表38 查询分析结果 类型 场景1 场景2 查询语句 TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5) TIME_SHIFT('2023-04-22 15:31:30.000', 'P1D', 5, 'Asia/Shanghai') 返回结果 2023-04-27 15:31:30.000 2023-04-27 23:31:30.000
  • timezone_hour函数 计算时区的小时偏移量。 语法:timezone_hour(expr) 表39 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS TIMEZONE String 否 返回值类型:Integer类型 示例:SELECT TIMEZONE_HOUR('2023-04-22 15:31:30.000 Europe/Rome') 表40 查询分析结果 类型 场景 查询语句 TIMEZONE_HOUR('2023-04-22 15:31:30.000 Europe/Rome') 返回结果 1
  • ceil函数 使用时间单位对时间戳进行四舍五入,单位可以是SECOND、MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR。 语法:ceil(expr, unit) 表33 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:String类型 示例:SELECT CEIL('2023-04-20 11:28:31.770', 'DAY') 表34 查询分析结果 类型 场景 查询语句 CEIL ('2023-04-20 11:28:31.770', 'DAY') 返回结果 2023-04-21 00:00:00.000
  • floor函数 使用时间单位对时间戳进行向下舍入,单位可以是SECOND、MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR。 语法:floor(expr, unit) 表35 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 unit 时间单位 String 是 返回值类型:Strin类型 示例:SELECT FLOOR('2023-04-20 11:28:31.770', 'DAY') 表36 查询分析结果 类型 场景 查询语句 FLOOR('2023-04-20 11:28:31.770', 'DAY') 返回结果 2023-04-20 00:00:00.000
  • to_unixtime函数 将时间戳类型的日期和时间表达式转换为UNIX时间戳。与timestamp_to_mills函数用法一致。 语法:to_unixtime(expr) 表23 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 返回值类型:Long类型 示例:SELECT TO_UNIXTIME('2023-04-12 16:15:22.285') 表24 查询分析结果 类型 场景 查询语句 TO_UNIXTIME('2023-04-12 16:15:22.285') 返回结果 1681287322285
  • time_floor函数 向下舍入时间戳,将其作为新的时间戳返回。Period可以是任何ISO8601的周期,如P3M(季度)或PT12H(半天)。指定Origin作为时间戳,以设置舍入的参考时间。例如,TIME_FLOOR(time, 'PT1H', '2016-06-27 00:30:00')测量的小时周期从00:30-01:30而不是00:00-01:00。时区(如果提供)应该是时区名称,如“America/Los_Angeles”或偏移量,如“-08:00”。此功能与floor_to类似,但更灵活。 语法:time_floor(expr, period, [origin, [timezone]]) origi和timezone加中括号表示可选,非必填。 表29 参数说明 参数名称 描述 类型 是否必选 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_FLOOR('2023-04-23 06:46:40.000', 'PT2H') 表30 查询分析结果 类型 场景 查询语句 TIME_FLOOR('2023-04-23 06:46:40.000', 'PT2H') 返回结果 2023-04-23 06:00:00.000 示例2:SELECT TIME_FLOOR('2023-04-25 06:53:45.000', 'PT2H', '2012-12-18 01:20:21.000') 表31 查询分析结果 类型 场景 查询语句 TIME_FLOOR('2023-04-25 06:53:45.000', 'PT2H', '2012-12-18 01:20:21.000') 返回结果 2023-04-25 05:20:21.000 示例3:SELECT TIME_FLOOR('2023-04-23 06:46:40.000', 'PT2H', '2012-12-18 04:11:11.000', 'Europe/Rome') 表32 查询分析结果 类型 场景 查询语句 TIME_FLOOR('2023-04-25 09:44:35.000', 'PT2H', '2012-12-18 04:11:11.000', 'Europe/Rome') 返回结果 2023-04-25 08:11:11.000
  • 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
  • timestamp_to_mills函数 将时间戳类型的日期和时间表达式转换为UNIX时间戳。 语法:timestamp_to_mills(expr) 表21 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String类型 是 返回值类型:Long类型 示例:SELECT TIMESTAMP_TO_MILLS('2023-04-12 16:15:22.285') 表22 查询分析结果 类型 场景 查询语句 TIMESTAMP_TO_MILLS('2023-04-12 16:15:22.285') 返回结果 1681287322285
  • to_iso8601函数 将日期类型或时间戳类型的日期时间表达式转换为ISO8601格式的日期时间表达式。 语法:to_iso8601(expr) 表19 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd或yyyy-MM-dd HH:mm:ss.SSS String类型 是 返回值类型:String类型 示例:SELECT TO_ISO8601('2023-04-15'), TO_ISO8601('2023-04-15 11:13:35.954') 表20 查询分析结果 类型 场景1 场景2 查询语句 TO_ISO8601('2023-04-15') TO_ISO8601('2023-04-15 11:13:35.954') 返回结果 2023-04-15 2023-04-15T11:13:35.954Z
  • from_unixtime函数 将UNIX时间戳转换为日期和时间表达式。与mills_to_timestamp函数用法一致。 将UNIX时间戳转化为没有时区的时间戳类型的日期和时间表达式。 语法:from_unixtime(expr) 表13 参数说明 参数名称 描述 类型 是否必选 expr UNIX时间戳 Long 是 返回值类型:String 示例:SELECT FROM_UNIXTIME(1626774758000) 表14 查询分析结果 类型 场景 查询语句 FROM_UNIXTIME(1626774758000) 返回结果 2021-07-20 09:52:38.000 将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式。 语法:from_unixtime(expr, timezone) 表15 参数说明 参数名称 描述 类型 是否必选 expr UNIX时间戳 Long 是 timezone 时区 String 是 返回值类型:String类型 示例:SELECT FROM_UNIXTIME(1626774758000, 'Asia/Shanghai') 表16 查询分析结果 类型 场景 查询语句 FROM_UNIXTIME(1626774758000, 'Asia/Shanghai') 返回结果 2021-07-20 17:52:38.000 Asia/Shanghai 将UNIX时间戳expr转换为具有时区的时间戳类型的日期和时间表达式。表达式中,hour和minute表示时区偏移量。 语法:from_unixtime(expr, hour, minutes) 表17 参数说明 参数名称 描述 类型 是否必选 expr UNIX时间戳 Long 是 hour 小时 Integer 是 minute 分钟 Integer 是 返回值类型:String 示例:SELECT FROM_UNIXTIME(1626774758000, -2, 0) 表18 查询分析结果 类型 场景 查询语句 FROM_UNIXTIME(1626774758000, -2, 0) 返回结果 2021-07-20 07:52:38.000 -02:00
  • from_iso8601_timestamp函数 将ISO8601格式的日期和时间表达式转化为timestamp类型的日期和时间表达式,格式为YYYY-MM-DD HH:MM:SS.Ms Time_zone。 语法:from_iso8601_timestamp(expr) 表5 参数说明 参数名称 描述 类型 是否必选 expr ISO8601格式的日期和时间表达式 String 是 返回值类型:timestamp类型。 示例:SELECT FROM_ISO8601_TIMESTAMP('2018-05-14T11:51:50.153+08:00') 表6 查询分析结果 类型 场景 查询语句 FROM_ISO8601_TIMESTAMP('2018-05-14T11:51:50.153+08:00') 返回结果 2018-05-14 11:51:50.153 +08:00
  • mills_to_timestamp函数 将UNIX时间戳转换为日期和时间表达式。 将UNIX时间戳转化为没有时区的时间戳类型的日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS。 语法:mills_to_timestamp(expr) 表7 参数说明 参数名称 描述 类型 是否必选 expr UNIX时间戳 Long 是 返回值类型:String类型 示例:SELECT MILLS_TO_TIMESTAMP(1626774758000) 表8 查询分析结果 类型 场景 查询语句 MILLS_TO_TIMESTAMP(1626774758000) 返回结果 2021-07-20 09:52:38.000 将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS TimeZone。 语法:mills_to_timestamp(expr, timezone) 表9 参数说明 参数名称 描述 类型 是否必选 expr UNIX时间戳 Long 是 timezone 时区 String 是 返回值类型:String类型 示例:SELECT MILLS_TO_TIMESTAMP(1626774758000, 'Asia/Shanghai') 表10 查询分析结果 类型 场景 查询语句 MILLS_TO_TIMESTAMP(1626774758000, 'Asia/Shanghai') 返回结果 2021-07-20 17:52:38.000 Asia/Shanghai 将UNIX时间戳expr转换为具有时区的时间戳类型的日期和时间表达式。表达式中,hour和minute表示时区偏移量,格式为yyyy-MM-dd HH:mm:ss.SSS 时区偏移量。 语法:mills_to_timestamp(expr, hour, minutes) 表11 参数说明 参数名称 描述 类型 是否必选 expr UNIX时间戳 Long 是 hour 小时 Integer 是 minute 分钟 Integer 是 返回值类型:String类型 示例:SELECT MILLS_TO_TIMESTAMP(1626774758000, -2, 0) 表12 查询分析结果 类型 场景 查询语句 MILLS_TO_TIMESTAMP(1626774758000, -2, 0) 返回结果 2021-07-20 07:52:38.000-02:00
  • 函数列表 表1 日期和时间函数 函数 描述 current_timestamp函数 返回当前日期和时间,格式为yyyy-MM-dd HH:mm:ss.SSS from_iso8601_date函数 将ISO8601格式的日期表达式expr转换为date类型的日期表达式,格式为yyyy-MM-dd from_iso8601_timestamp函数 将ISO8601格式的日期表达式expr转换为timestamp类型的日期表达式,格式为yyyy-MM-dd HH:mm:ss.SSS mills_to_timestamp函数 将UNIX时间戳转换为日期和时间表达式。 from_unixtime函数 将UNIX时间戳转换为日期和时间表达式。与mills_to_timestamp函数用法一致。 to_iso8601函数 将日期类型或时间戳类型的日期时间表达式转换为ISO8601格式的日期时间表达式。 timestamp_to_mills函数 将时间戳类型的日期和时间表达式转换为UNIX时间戳。 to_unixtime函数 将时间戳类型的日期和时间表达式转换为UNIX时间戳。与timestamp_to_mills函数用法一致。 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_floor函数 向下舍入时间戳,将其作为新的时间戳返回。Period可以是任何ISO8601的周期,如P3M(季度)或PT12H(半天)。指定Origin作为时间戳,以设置舍入的参考时间。例如,TIME_FLOOR(time, 'PT1H', '2016-06-27 00:30:00')测量的小时周期从00:30-01:30而不是00:00-01:00。时区(如果提供)应该是时区名称,如“America/Los_Angeles”或偏移量,如“-08:00”。此功能与floor_to类似,但更灵活。 ceil函数 使用时间单位对时间戳进行四舍五入,单位可以是SECOND、MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR。 floor函数 使用时间单位对时间戳进行向下舍入,单位可以是SECOND、MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR。 time_shift函数 将时间戳expr移动一个Period(步长时间)。Period可以是任何ISO8601的Period。 timezone_hour函数 计算系统时区和utc时区的小时偏移量。如果提供了时区,则计算系统时区与给定时区的偏移量。 timezone_minute函数 计算系统时区和utc时区的分钟偏移量。如果提供了时区,则计算系统时区与给定时区的偏移量。 time_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。 date_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。 time_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 date_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 time_extract函数 通过指定字段提取日期时间表达式的日期或时间部分。EPOCH, SECOND, MINUTE, HOUR, DAY(月的日), DOW(周的日), DOY(年的日), WEEK(年周), MONTH(1到12), QUARTER(1到4),或YEAR,时区(如果提供)应为时区名称,如"America/Los_Angeles"或偏移量,如"-08:00" date_trunc函数 根据您指定的时间单位截断日期和时间表达式,并以毫秒、秒、分钟、小时、天、月或年为单位对齐。 date_diff函数 返回时间戳expr1和时间戳expr2之间的单位数(有符号)。 current_date函数 返回当前日期,格式是“yyyy-MM-dd”。 now函数 返回当前日期和时间,格式是“yyyy-MM-dd HH:mm:ss.SSS”。功能与current_timestamp一致 date_add函数 给时间加上给定的时间间隔 current_time函数 返回当前时间,格式为HH:mm:ss.SSSSSS。 current_timezone函数 返回当前时区。 localtime函数 返回本地时间。 localtimestamp函数 返回本地的日期和时间。 year_of_week函数 返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。 yow函数 返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。 time_series函数 用于补全您查询时间窗口内缺失的数据。
  • from_iso8601_date函数 将ISO8601格式的日期表达式转化为date类型的日期表达式,格式为YYYY-MM-DD。 语法:from_iso8601_date(expr) 表3 参数说明 参数名称 描述 类型 是否必选 expr ISO8601格式的日期表达式 String 是 返回值类型:String类型 示例:SELECT FROM_ISO8601_DATE('2018-05-14') 表4 查询分析结果 类型 场景 查询语句 FROM_ISO8601_DATE('2018-05-14') 返回结果 2018-05-14
  • Nginx Nginx是通过log_format指令来自定义访问日志的格式。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据 在“步骤2 输入Nginx日志配置”中需要输入Nginx日志配置,根据输入或选择的日志进行配置。其中有默认配置可使用,单击“默认Nginx配置”即可。 标准Nginx配置文件中,日志配置的部分通常以log_format开头。 日志格式 默认配置如下所示。 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 用户也可进行自定义配置,具体配置格式要求如下所示。 使用Nginx配置,不可为空 以log_format开头,并且包含(')和字段名称 长度最大限制为5000 需要与示例日志内容匹配 log_format字段之间的间隔,除大小字母、数字、下划线及中划线外,可使用其他任意字符 以(')或者(';)结尾 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 在“步骤3 字段提取”下单击“智能提取”。以如下原始日志为例进行分析: 将以下原始日志输入待操作框中。 39.149.31.187 - - [12/Mar/2020:12:24:02 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36" "-" 并使用如下Nginx日志配置。 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 当日志提取字段的类型为float时,精确度为7位有效数字。 如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • 分隔符 分隔符是使用分隔符(例如:逗号、空格或字符)提取字段。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据 在“步骤2 指定分隔符”需要根据原始日志内容选择分隔符,或自定义其他需要的特殊字符作为分隔符。 不可见字符需要输入0x开头的16进制字符,长度为0-4个字符,总共32个不可见字符。 自定义字符支持输入1-10个字符,每个字符都作为独立的分隔符。 自定义字符串支持输入1-30个字符,字符串整体作为一个分隔符。 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 在“步骤3字段提取”下单击“智能提取”。以如下原始日志为例进行分析: 将以下原始日志输入待操作框中。 1 5f67944957444bd6bb4fe3b367de8f3d 1d515d18-1b36-47dc-a983-bd6512aed4bd 192.168.0.154 192.168.3.25 38929 53 17 1 96 1548752136 1548752736 ACCEPT OK 当日志提取字段的类型为float时,精确度为7位有效数字。 如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • JSON JSON是通过提取JSON字段将其拆分为键值对。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 在“步骤2 字段提取”下单击“智能提取”。以如下原始日志为例进行分析: 将以下原始日志输入待操作框中。 {"a1": "a1", "b1": "b1", "c1": "c1", "d1": "d1"} 当日志提取字段的类型为float时,精度为16位有效数字。如果超过16位有效数字,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。 当日志提取字段的类型为long时,日志内容超过16位有效数字,只会精确显示前16位有效数字,后面的数字会变为0。 当日志提取字段的类型为long时,日志内容超过21位有效数字,则会识别为float类型,建议将字段类型修改为String。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • 云端结构化解析 登录 云日志 服务控制台,进入“日志管理”页面。 单击目标日志组和日志流名称。 在日志流详情页面,单击右上角,在弹出页面中,选择“云端结构化解析”,进行日志结构化配置。 正则分析:使用正则表达式提取字段。 JSON:通过提取JSON字段将其拆分为键值对。 分隔符:使用分隔符(例如:冒号、空格或字符等)提取字段。 Nginx:通过log_format指令来自定义访问日志的格式。 结构化模板:通过自定义模板或系统内置模板提取字段。 云端结构化解析配置完成后,支持修改或删除结构化配置。 在云端结构化解析页面中,单击,修改结构化配置。 在云端结构化解析页面中,单击,删除结构化配置。 结构化配置删除后,将无法恢复,请谨慎操作。
  • Nginx Nginx是通过log_format指令来自定义访问日志的格式。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据 在“步骤2 输入Nginx日志配置”中需要输入Nginx日志配置,根据输入或选择的日志进行配置。其中有默认配置可使用,单击“默认Nginx配置”即可。 标准Nginx配置文件中,日志配置的部分通常以log_format开头。 日志格式 默认配置如下所示。 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 用户也可进行自定义配置,具体配置格式要求如下所示。 使用Nginx配置,不可为空 以log_format开头,并且包含(')和字段名称 长度最大限制为5000 需要与示例日志内容匹配 log_format字段之间的间隔,除大小字母、数字、下划线及中划线外,可使用其他任意字符 以(')或者(';)结尾 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 在“步骤3 字段提取”下单击“智能提取”。以如下原始日志为例进行分析: 将以下原始日志输入待操作框中。 39.149.31.187 - - [12/Mar/2020:12:24:02 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36" "-" 并使用如下Nginx日志配置。 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 当日志提取字段的类型为float时,精确度为7位有效数字。 如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
  • 分隔符 分隔符是使用分隔符(例如:逗号、空格或字符)提取字段。 选择示例日志:应选择一条比较典型的日志作为示例日志。在“步骤1 选择示例日志”中,可单击“从已有日志中选择”,在弹出框中根据业务需求选择待操作的日志,也可以直接在输入框中输入待操作的日志,单击“确定”。通过选择不同时间段筛选日志。 时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。 自定义:表示查询指定时间范围的日志数据 在“步骤2 指定分隔符”需要根据原始日志内容选择分隔符,或自定义其他需要的特殊字符作为分隔符。 不可见字符需要输入0x开头的16进制字符,长度为0-4个字符,总共32个不可见字符。 自定义字符支持输入1-10个字符,每个字符都作为独立的分隔符。 自定义字符串支持输入1-30个字符,字符串整体作为一个分隔符。 字段提取。可将输入或选择的日志自动提取为以一个示例字段对应一个字段名称的格式的日志解析结果。 在“步骤3字段提取”下单击“智能提取”。以如下原始日志为例进行分析: 将以下原始日志输入待操作框中。 1 5f67944957444bd6bb4fe3b367de8f3d 1d515d18-1b36-47dc-a983-bd6512aed4bd 192.168.0.154 192.168.3.25 38929 53 17 1 96 1548752136 1548752736 ACCEPT OK 当日志提取字段的类型为float时,精确度为7位有效数字。 如果超过7位有效数字的话,则会导致提取字段内容不准确,从而影响可视化查看和快速分析,因此建议将字段类型修改为String。 在字段提取完成后,可对日志模板进行设置。结构化字段设置规则请参考设置结构化字段。 若需要指定某一字段作为日志时间,详细请参考自定义日志时间。 单击“保存”,完成日志结构化配置,初次设置完成后将不能对字段类型编辑修改。
共100000条