华为云用户手册

  • url_encode函数 对URL进行编码。 语法:url_encode(expr) 表2 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表3 查询分析结果 类型 场景 查询语句 URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment
  • url_extract_fragment函数 提取URL中的fragment信息。 语法:url_extract_fragment(expr) 表6 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表7 查询分析结果 类型 场景 查询语句 URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 fragment
  • url_decode函数 对URL进行解码。 语法:url_decode(expr) 表4 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 表5 查询分析结果 类型 场景 查询语句 URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 返回结果 http://username:password@host:8080/index?parameterName=parameterValue#fragment
  • url_extract_parameter函数 提取URL中的参数信息。 语法:url_extract_host(expr) 表10 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 paramName 参数名称 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PA RAM ETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 表11 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 返回结果 parameterValue
  • url_extract_host函数 提取URL中的host信息。 语法:url_extract_fragment(expr) 表8 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表9 查询分析结果 类型 场景 查询语句 URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 host
  • 函数列表 表1 URL函数 函数 描述 url_encode函数 对URL进行编码。 url_decode函数 对URL进行解码。 url_extract_fragment函数 提取URL中的fragment信息。 url_extract_host函数 提取URL中的host信息。 url_extract_parameter函数 提取URL中的参数信息。 url_extract_path函数 分割目标字符串,返回被分割后的子串合集。 url_extract_port函数 提取URL中的端口信息。 url_extract_protocol函数 提取URL中的协议信息。 url_extract_query函数 提取URL中查询部分的信息。
  • regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 语法:regexp_extract_all(expr, regularExpr) 表6 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_EXTRACT_ALL('HTTP/2.0', '\\\\d+') 表7 查询分析结果 类型 场景 查询语句 REGEXP_EXTRACT_ALL ('HTTP/2.0', '\\\\d+') 返回结果 ["2","0"]
  • regexp_split函数 分割目标字符串,返回被分割后的子串合集。 语法:regexp_split(expr, regularExpr) 表10 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 表11 查询分析结果 类型 场景 查询语句 REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 返回结果 ["request_uri:","request","path-0","file-7"]
  • regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 删除目标字符串中符合正则表达式的子串,返回未被删除的子串。 语法:regexp_replace(expr, regularExpr) 替换目标字符串中符合正则表达式的子串,返回被替换后的字符串。 语法:regexp_replace(expr, regularExpr, replaceStr) 表8 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 replaceStr 替换的字符串 String 否 返回值类型:String类型 示例:SELECT REGEXP_REPLACE('ab12cd34', '\\d+'), REGEXP_REPLACE('ab12cd34', '\\d+', '00') 表9 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_REPLACE('ab12cd34', '\\d+') REGEXP_REPLACE('ab12cd34', '\\d+', '00') 返回结果 abcd ab00cd00
  • 函数列表 表1 正则式函数 函数 描述 regexp_extract函数 提取目标字符串中符合正则表达式的子串。 regexp_like函数 判断目标字符串是否符合正则表达式。 regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 regexp_split函数 分割目标字符串,返回被分割后的子串合集。
  • regexp_extract函数 提取目标字符串中符合正则表达式的子串。 提取并返回目标字符串中符合正则表达式的第一个子串。 语法:regexp_extract(expr, regularExpr) 提取并返回目标字符串中符合正则表达式的第n个子串。 语法:regexp_extract(expr, regularExpr, n) 表2 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串。 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组。 String 是 n 第n个符合正则表达式的子串。 Integer 否 返回值类型:String类型 示例:SELECT REGEXP_EXTRACT('HTTP/2.0', '\\\\d+') 表3 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_EXTRACT('HTTP/2.0', '\\\\d+') REGEXP_EXTRACT ('HTTP/2.0', '\\\\d+', 1) 返回结果 2 2
  • regexp_like函数 判断目标字符串是否符合正则表达式。 语法:regexp_like(expr, regularExpr) 表4 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\\d)(\\d)表示两个捕获组 String 是 返回值类型: Boolean类型 示例:SELECT REGEXP_LIKE('HTTP/2.0', '\\d+') 表5 查询分析结果 类型 场景 查询语句 REGEXP_LIKE('HTTP/2.0', '\\d+') 返回结果 true
  • ip_subnet_range函数 获取IPv4网段范围。 语法:ip_subnet_range(expr) 表14 参数说明 参数名称 描述 类型 是否必选 expr1 IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_RANGE('192.120.80.128/10') 表15 查询分析结果 类型 场景 查询语句 IP_SUBNET_RANGE ('192.120.80.128/10') 返回结果 ["192.64.0.1","192.127.255.254"] 在计算给定网段的最大IP地址、最小IP地址和IP范围时,排除了网段的单播和广播地址,计算出的IP地址为网段的最大可用IP地址、最小可用IP地址和可用IP地址范围。
  • ip_prefix函数 获取目标IPv4地址的前缀。 语法:ip_prefix(expr, prefixBit) 表4 参数说明 参数名称 描述 类型 是否必选 expr IPv4地址 String 是 prefixBit 前缀位数 String 是 返回值类型:String类型 示例:SELECT IP_PREFIX('10.110.10.210', 8), IP_PREFIX('144.101.32.5', 12) 表5 查询分析结果 类型 场景1 场景2 查询语句 IP_PREFIX('10.110.10.210', 8) IP_PREFIX('144.101.32.5', 12) 返回结果 10.0.0.0/8 144.96.0.0/12
  • ip_subnet_max函数 获取IPv4网段中的最大IP地址。 语法:ip_subnet_max(expr) 表10 参数说明 参数名称 描述 类型 是否必选 expr IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_MAX('192.120.80.128/10') 表11 查询分析结果 类型 场景 查询语句 IP_SUBNET_MAX('192.120.80.128/10') 返回结果 192.127.255.254
  • is_prefix_subnet_of函数 判断目标IPv4网段是否为某网段的子网。 语法:is_prefix_subnet_of(expr1, expr2) 表6 参数说明 参数名称 描述 类型 是否必选 expr1 给定的IPv4网段 String 是 expr2 目标IPv4网段 String 是 返回值类型:Boolean类型 示例:SELECT IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') 表7 查询分析结果 类型 场景 查询语句 IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') 返回结果 false
  • 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_subnet_min函数 获取IPv4网段中的最小IP地址。 语法:ip_subnet_min (expr) 表12 参数说明 参数名称 描述 类型 是否必选 expr1 IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_MIN('192.120.80.128/10') 表13 查询分析结果 类型 场景 查询语句 IP_SUBNET_MIN('192.120.80.128/10') 返回结果 192.64.0.1
  • 函数列表 表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函数 返回网络运营商的名称。
  • 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
  • 结构化模板日志详情 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 返回结果
  • 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
  • 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
  • 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%.
  • 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在设置时,如果设置了分钟,那么就必须同时配置分钟之前的年、月、日和时。
共100000条