华为云用户手册

  • is_subnet_of函数 判断目标IPv4地址是否在某网段内。 语法:is_subnet_of(expr1, expr2) 表8 参数说明 参数名称 描述 类型 是否必选 expr1 给定的IPv4网段 String 是 expr2 目标IPv4地址 String 是 返回值类型:Boolean类型 示例:SELECT IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') 表9 查询分析结果 类型 场景 查询语句 IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') 返回结果 false
  • ip_to_domain函数 判断目标IPv4地址是内网地址还是外网地址。 语法:ip_to_domain (expr) 表2 参数说明 参数名称 描述 类型 是否必选 expr IP地址 String 是 返回值类型:String类型 示例:SELECT IP_TO_DOMAIN('10.110.10.210'), IP_TO_DOMAIN('192.175.4.1') 表3 查询分析结果 类型 场景1 场景2 查询语句 IP_TO_DOMAIN('10.110.10.210') IP_TO_DOMAIN('192.175.4.1') 返回结果 intranet internet
  • 函数列表 表1 IP地址函数 函数 描述 ip_to_domain函数 判断目标IPv4地址是内网地址还是外网地址。 ip_prefix函数 获取目标IPv4地址的前缀。 is_prefix_subnet_of函数 判断目标IPv4网段是否为某网段的子网。 is_subnet_of函数 判断目标IPv4地址是否在某网段内。 ip_subnet_max函数 获取IPv4网段中的最大IP地址。 ip_subnet_min函数 获取IPv4网段中的最小IP地址。 ip_subnet_range函数 获取IPv4网段范围。 ip_to_city函数 返回城市的名称。 ip_to _provider函数 返回网络运营商的名称。
  • 结构化模板日志详情 NGINX日志示例 表1 结构化模板示例 模板名称 示例日志 NGINX 192.168.1.101 - [27/Aug/2018:14:20:29 +0800] "GET http://www.example.com / HTTP/1.0" 200 8796 6775 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36" "-" "0.185" "0.010" 12.129.120.121:8090 200 794 结构化字段及字段说明 表2 结构化字段 字段 示例 描述 类型 body_bytes_sent 6775 发送给客户端的文件主体内容的大小 long bytes_sent 8796 响应大小 long host www.example.com 请求 域名 string http_referer - 来源页面链接 string http_user_agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 客户端浏览器信息 string http_x_forwarded_for - 客户端的真实ip string remote_addr 192.168.1.101 客户端地址 string remote_user - 远程客户端用户名称 string request_length 794 请求长度 long request_method GET 请求方法 string request_time 0.185 请求时间 float request_uri / 请求url string scheme http http或https string server_protocol HTTP/1.0 请求协议 string status 200 响应状态码 long time_local 27/Aug/2018:14:20:29 日期 string upstream_addr 12.129.120.121:8090 后端服务器地址 string upstream_response_time 0.010 后端服务器响应时间 float upstream_status 200 后端服务器响应状态 long
  • time_series函数 用于补全您查询时间窗口内缺失的数据。time_series函数必须搭配GROUP BY语法和ORDER BY语法使用,且ORDER BY语法不支持DESC排序方式。 语法: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 返回结果
  • 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_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
  • 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
  • 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_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 语法:time_parse(expr, pattern) 表47 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 pattern 时间格式 String 是 返回值类型:String类型 示例:SELECT TIME_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 表48 查询分析结果 类型 场景 查询语句 TIME_PARSE('1996-03-22 14:32:00.000','%Y-%m-%d %h:%i') 返回结果 1996-03-22 14:32:00.000 pattern在设置时,如果设置了分钟,那么就必须同时配置分钟之前的年、月、日和时。
  • date_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。与time_parse函数功能一致 语法:date_parse(expr, pattern) 表49 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 pattern 时间格式 String 是 返回值类型:String类型 示例: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_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_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。与time_format函数功能一致。 语法:date_format(expr, format) 表45 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 format 时间格式 String 是 返回值类型:String类型 示例:SELECT DATE_FORMAT(current_timestamp(),'%H%i') 表46 查询分析结果 类型 场景 查询语句 DATE_FORMAT(current_timestamp(),'%H%i') 返回结果 1432 format描述: %a Abbreviation for the week. For example, Sun and Sat. %b Abbreviation of the month. For example, Jan and Dec. %c Month. Numeral type. Range: 1-12. %D Day of the month. The value must be suffixed, for example, 0th, 1st, 2nd, and 3rd. %d Day of the month. The value ranges from 01 to 31 in decimal notation. %e Day of the month. The value ranges from 1 to 31 in decimal notation. %H Hour, 24-hour system. %h Hour, 12-hour system. %i Minute. Numeral type. Range: 00–59. %j Day of the year. The value ranges from 001 to 366. %k Hour. The value ranges from 0 to 23. %l Hour. The value ranges from 1 to 12. %M The English expression of the month, for example, January, December. %m Month. Numeral format. The value ranges from 01 to 12. %p AM and PM. %r Time in the 12-hour format. The format is hh:mm:ss AM/PM. %S Indicates the second. The value ranges from 00 to 59. %s Indicates the second. The value ranges from 00 to 59. %T Time, in the 24-hour format of hh:mm:ss. %v The first week of the year, Monday is the first day of the week. The value ranges from 01 to 53. %W The name of the day of the week. For example, Sunday and Saturday. %w Day of the week. Sunday is day 0. %Y A 4-digit year, for example, 2020. %y A 2-digit year, for example, 20. %% Escape character for%.
  • 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
  • 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
  • time_format函数 将时间戳类型的日期和时间表达式转换为指定格式的日期和时间表达式。 语法:time_format(expr, format) 表43 参数说明 参数名称 描述 类型 是否必选 expr 日期和时间表达式,格式为yyyy-MM-dd HH:mm:ss.SSS String 是 format 时间格式 String 是 返回值类型:String类型 示例:SELECT TIME_FORMAT(current_timestamp(),'%H%i') 表44 查询分析结果 类型 场景 查询语句 TIME_FORMAT(current_timestamp(),'%H%i') 返回结果 1432 format描述: %a Abbreviation for the week. For example, Sun and Sat. %b Abbreviation of the month. For example, Jan and Dec. %c Month. Numeral type. Range: 1-12. %D Day of the month. The value must be suffixed, for example, 0th, 1st, 2nd, and 3rd. %d Day of the month. The value ranges from 01 to 31 in decimal notation. %e Day of the month. The value ranges from 1 to 31 in decimal notation. %H Hour, 24-hour system. %h Hour, 12-hour system. %i Minute. Numeral type. Range: 00–59. %j Day of the year. The value ranges from 001 to 366. %k Hour. The value ranges from 0 to 23. %l Hour. The value ranges from 1 to 12. %M The English expression of the month, for example, January, December. %m Month. Numeral format. The value ranges from 01 to 12. %p AM and PM. %r Time in the 12-hour format. The format is hh:mm:ss AM/PM. %S Indicates the second. The value ranges from 00 to 59. %s Indicates the second. The value ranges from 00 to 59. %T Time, in the 24-hour format of hh:mm:ss. %v The first week of the year, Monday is the first day of the week. The value ranges from 01 to 53. %W The name of the day of the week. For example, Sunday and Saturday. %w Day of the week. Sunday is day 0. %Y A 4-digit year, for example, 2020. %y A 2-digit year, for example, 20. %% Escape character for%.
  • 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
  • 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
  • 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
  • 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
  • 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_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_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
  • 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
  • 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_format函数功能一致。 time_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。 date_parse函数 将日期和时间字符串转换为指定格式的时间戳类型的日期和时间表达式。与time_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格式的日期表达式expr转换为格式为yyyy-MM-dd的String类型的日期表达式。 语法:from_iso8601_date(expr) 表3 参数说明 参数名称 描述 类型 是否必选 expr ISO8601格式的日期表达式 String 是 返回值类型:String类型 示例:SELECT FROM_ISO8601_DATE('2018-05-14T11:51:50.153+08:00') 表4 查询分析结果 类型 场景 查询语句 FROM_ISO8601_DATE('2018-05-14T11:51:50.153+08:00') 返回结果 2018-05-14
  • from_iso8601_timestamp函数 将ISO8601格式的日期表达式expr转换为格式为yyyy-MM-dd HH:mm:ss.SSS的String类型的日期表达式。 语法:from_iso8601_timestamp(expr) 表5 参数说明 参数名称 描述 类型 是否必选 expr ISO8601格式的日期表达式 String 是 返回值类型:String类型 示例: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
共100000条