字符串函数 |
您所在的位置:网站首页 › tria函数 › 字符串函数 |
日志服务支持如下字符串函数。 重要 在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status或"status"表示日志字段status。函数名称 语法 说明 支持SQL 支持SPL chr函数 chr(x) 将ASCII码转换为字符。 √ √ codepoint函数 codepoint(x) 将字符转换为ASCII码。 √ √ concat函数 concat(x, y...) 将多个字符串拼接成一个字符串。 √ √ from_utf8函数 from_utf8(x) 将二进制字符串解码为UTF-8编码格式,并使用默认字符U+FFFD替换无效的UTF-8字符。 √ √ from_utf8(x, replace_string) 将二进制字符串解码为UTF-8编码格式,并使用自定义字符串替换无效的UTF-8字符。 √ √ length函数 length(x) 计算字符串的长度。 √ √ levenshtein_distance函数 levenshtein_distance(x, y) 计算x和y之间的最小编辑距离。 √ × lower函数 lower(x) 将字符串转换为小写形式。 √ √ lpad函数 lpad(x, length, lpad_string) 在字符串的开头填充指定字符,直到指定长度后返回结果字符串。 √ √ ltrim函数 ltrim(x) 删除字符串开头的空格。 √ √ normalize函数 normalize(x) 使用NFC格式将字符串格式化。 √ × position函数 position(sub_string in x) 返回目标子串在字符串中的位置。 √ × replace函数 replace(x, sub_string ) 删除字符串中匹配的字符。 √ √ replace(x, sub_string, replace_string) 将字符串中所匹配的字符替换为其他指定字符。 √ √ reverse函数 reverse(x) 返回反向顺序的字符串。 √ √ rpad函数 rpad(x, length, rpad_string) 在字符串的尾部填充指定字符,直到指定长度后返回结果字符串。 √ √ rtrim函数 rtrim(x) 删除字符串中结尾的空格。 √ √ split函数 split(x, delimeter) 使用指定的分隔符拆分字符串,并返回子串集合。 √ × split(x, delimeter, limit) 通过指定的分隔符拆分字符串并使用limit限制字符串拆分的个数,然后返回拆分后的子串集合。 √ × split_part函数 split_part(x, delimeter, part) 使用指定的分隔符拆分字符串,并返回指定位置的内容。 √ √ split_to_map函数 split_to_map(x, delimiter01, delimiter02) 使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分。 √ × strpos函数 strpos(x, sub_string) 返回目标子串在字符串中的位置。与position(sub_string in x)函数等价。 √ √ substr函数 substr(x, start) 返回字符串中指定位置的子串。 √ √ substr(x, start, length) 返回字符串中指定位置的子串,并指定子串长度。 √ √ to_utf8函数 to_utf8(x) 将字符串转换为UTF-8编码格式。 √ √ trim函数 trim(x) 删除字符串中开头和结尾的空格。 √ √ upper函数 upper(x) 将字符串转化为大写形式。 √ √ chr函数chr函数用于将ASCII码转换为字符。 语法chr(x)参数说明参数 说明 x ASCII码。 返回值类型varchar类型。 示例判断region字段值的首字母是否是c开头,其中99为ASCII码,代表小写字母c。 字段样例 region:cn-shanghai查询和分析语句(调试) * | SELECT substr(region, 1, 1) = chr(99)查询和分析结果 codepoint函数codepoint函数用于将字符转换为ASCII码。 语法codepoint(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型integer类型。 示例判断region字段值的首字母是否是c开头,其中99为ASCII码,代表小写字母c。 字段样例 upstream_status:200查询和分析语句(调试) * | SELECT codepoint(cast (substr(region, 1, 1) AS char(1))) = 99查询和分析结果 concat函数concat函数用于将多个字符串拼接成一个字符串。 语法concat(x, y...)参数说明参数 说明 x 参数值为varchar类型。 y 参数值为varchar类型。 返回值类型varchar类型。 示例将region字段和request_method字段的值拼接为一个字符串。 字段样例 region:cn-shanghai time:14/Jul/2021:02:19:40查询和分析语句(调试) * | SELECT concat(region, '-', time)查询和分析结果 from_utf8函数from_utf8函数用于将二进制字符串解码为UTF-8编码格式。 语法使用默认字符U+FFFD替换无效的UTF-8字符。 from_utf8(x)使用自定义字符替换无效的UTF-8字符。 from_utf8(x,replace_string)参数说明参数 说明 x 参数值为binary类型。 replace_string 用于替换的字符串。只能为单个字符或空格。 返回值类型varchar类型。 示例将二进制字符串0x80解码为UTF-8编码格式,并使用默认字符U+FFFD替换返回结果中无效的UTF-8字符。U+FFFD显示形式为�。 查询和分析语句(调试) * | SELECT from_utf8(from_base64('0x80'))查询和分析结果 将二进制字符串0x80解码为UTF-8编码格式,并使用0替换返回结果中无效的UTF-8字符。 查询和分析语句(调试) * | SELECT from_utf8(from_base64('0x80'), '0')查询和分析结果 length函数length函数用于计算字符串的长度。 语法length(x)参数说明参数 x 参数值为varchar类型。 返回值类型bigint类型。 示例计算http_user_agent字段值的长度。 字段样例 http_user_agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2查询和分析语句(调试) * | SELECT length(http_user_agent)查询和分析结果 levenshtein_distance函数levenshtein_distance函数用于计算两个字符串的最小编辑距离。 语法levenshtein_distance(x, y)参数说明参数 说明 x 参数值为varchar类型。 y 参数值为varchar类型。 返回值类型bigint类型。 示例查询instance_id字段值和owner_id字段值的最小编辑距离。 字段样例 instance_id:i-01 owner_id:owner-01查询和分析语句(调试) * | SELECT levenshtein_distance(owner_id, instance_id)查询和分析结果 lower函数lower函数用于将字符串转换为小写形式。 语法lower(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例将request_method字段的值转换为小写形式。 字段样例 request_method:GET查询和分析语句(调试) * | SELECT lower(request_method)查询和分析结果 lpad函数lpad函数用于在目标字符串的开头填充指定的字符,直到指定长度后返回结果字符串。 语法lpad(x, length, lpad_string)参数说明参数 说明 x 参数值为varchar类型。 length 整数,用于指定结果字符串的长度。 当字符串的长度小于length时,在字符串的开头填充指定的字符。 当字符串的长度大于length时,只返回字符串中的length个字符。 lpad_string 新填充的字符。 返回值类型varchar类型。 示例将instance_id字段值的长度补充到10位,不足10位时,在字段值的开头补充0。 字段样例 instance_id:i-01查询和分析语句(调试) * | SELECT lpad(instance_id, 10, '0')查询和分析结果 ltrim函数ltrim函数用于删除字符串中开头的空格。 语法ltrim(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例删除region字段值开头的空格。 字段样例 region: cn-shanghai查询和分析语句(调试) * | SELECT ltrim(region)查询和分析结果 normalize函数normalize函数使用NFC格式将字符串格式化。 语法normalize(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例使用NFC格式将字符串schön格式化。 查询和分析语句(调试) * | SELECT normalize('schön')查询和分析结果 position函数position函数用于查询目标子串在字符串中的位置。 语法position(sub_string in x)参数说明参数 说明 sub_string 目标子串。 x 参数值为varchar类型。 返回值类型int类型,从1开始。如果字符串中不存在目标子串,则返回0。 示例查询子串cn在region字段值中位置。 字段样例 region:cn-shanghai查询和分析语句(调试) * | SELECT position('cn' in region)查询和分析结果 replace函数replace函数用于删除字符串中所匹配的字符或者将字符串中所匹配的字符替换为其他指定字符。 语法删除字符串中所匹配的字符。 replace(x, sub_string)将字符串中所匹配的字符替换为其他指定字符。 replace(x, sub_string, replace_string)参数说明参数 说明 x 参数值为varchar类型。 sub_string 目标子串。 replace_string 用于替换的子串。 返回值类型varchar类型。 示例示例1:将region字段值中的cn替换为中国。 字段示例 region:cn-shanghai查询和分析语句(调试) * | select replace(region, 'cn', '中国')查询和分析结果 示例2:删除region字段值中的cn-。 字段示例 region:cn-shanghai查询和分析语句(调试) * | select replace(region, 'cn-')查询和分析结果 reverse函数reverse函数用于返回反向顺序的字符串。 语法reverse(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例将request_method字段值反向排序。 字段样例 request_method:GET查询和分析语句(调试) * | SELECT reverse(request_method)查询和分析结果 rpad函数rpad函数用于在字符串的尾部填充指定的字符,直到指定长度后返回结果字符串。 语法rpad(x, length, rpad_string)参数说明参数 说明 x 参数值为varchar类型。 length 整数,用于指定结果字符串的长度。 当字符串的长度小于length时,在字符串的尾部填充指定的字符。 当字符串的长度大于length时,只返回字符串中的length个字符。 rpad_string 新填充的字符。 返回值类型varchar类型。 示例将instance_id字段值的长度补充到10位,不足10位时,在字段值的尾部补充0。 字段样例 instance_id:i-01查询和分析语句(调试) * | SELECT rpad(instance_id, 10, '0')查询和分析结果 rtrim函数rtrim函数用于删除字符串中结尾的空格。 语法rtrim(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例删除instance_id字段值中结尾的空格。 字段样例 instance_id:i-01查询和分析语句(调试) * | SELECT rtrim(instance_id)查询和分析结果 split函数split函数用于通过指定的分隔符拆分字符串,并返回拆分后的子串集合。 语法通过指定的分隔符拆分字符串,并返回拆分后的子串集合。 split(x, delimeter)通过指定的分隔符拆分字符串并使用limit限制字符串拆分的个数,然后返回拆分后的子串集合。 split(x,delimeter,limit)参数说明参数 说明 x 参数值为varchar类型。 delimeter 分隔符。 limit 限制字符串拆分的个数,大于0的整数。 返回值类型array类型。 示例示例1:使用正斜线(/)将request_uri字段的值拆分成4个子串,并返回子串的集合。 字段样例 request_uri:/request/path-1/file-9查询和分析语句(调试) * | SELECT split(request_uri, '/')查询和分析结果 示例2:使用正斜线(/)将request_uri字段的值拆分成3个子串,并返回子串的集合。 字段样例 request_uri:/request/path-1/file-9查询和分析语句(调试) * | SELECT split(request_uri, '/', 3)查询和分析结果 split_part函数split_part函数通过指定的分隔符拆分字符串,并返回指定位置的内容。 语法split_part(x, delimeter, part)参数说明参数 说明 x 参数值为varchar类型。 delimeter 分隔符。 part 大于0的整数。 返回值类型varchar类型。 示例使用英文问号(?)拆分request_uri字段的值并返回第一个子串(即文件路径部分),然后统计不同路径对应的请求数量。 字段样例 request_uri: /request/path-2/file-6?name=value&age=18 request_uri: /request/path-2/file-0?name=value&age=18 request_uri: /request/path-3/file-2?name=value&age=18查询和分析语句(调试) * | SELECT count(*) AS PV, split_part(request_uri, '?', 1) AS Path GROUP BY Path ORDER BY pv DESC查询和分析结果 split_to_map函数split_to_map函数用于使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分。 语法split_to_map(x, delimiter01, delimiter02)参数说明参数 说明 x 参数值为varchar类型。 delimeter01 分隔符。 delimeter02 分隔符。 返回值类型map类型。 示例使用英文逗号(,)和英文冒号(:)拆分time字段的值,返回结果为MAP类型。 字段样例 time:upstream_response_time:"80", request_time:"40"查询和分析语句 * | SELECT split_to_map(time, ',', ':')查询和分析结果 strpos函数strpos函数用于返回目标子串在字符串中的位置。与position函数等价。 语法strpos(x, sub_string)参数说明参数 说明 x 参数值为varchar类型。 sub_string 目标子串。 返回值类型int类型,从1开始。如果字符串中不存在目标子串,则返回0。 示例返回字母H在server_protocol字段值中的位置。 查询和分析语句(调试) * | SELECT strpos(server_protocol, 'H')查询和分析结果 substr函数substr函数用于返回字符串中指定位置的子串。 语法返回字符串中指定位置的子串。 substr(x, start)返回字符串中指定位置的子串,并指定子串长度。 substr(x,start,length)参数说明参数 说明 x 参数值为varchar类型。 start 开始提取子串的位置,从1开始。 length 子串的长度。 返回值类型varchar类型。 示例提取server_protocol字段值中的前4个字符(即HTTP部分),然后统计HTTP协议对应的请求数量。 字段样例 server_protocol:HTTP/2.0查询和分析语句(调试) * | SELECT substr(server_protocol, 1, 4) AS protocol, count(*) AS count GROUP BY server_protocol查询和分析结果 to_utf8函数to_utf8函数用于将字符串转换为UTF-8编码格式。 语法to_utf8(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varbinary类型。 示例将字符串log转换为UTF-8编码格式。 查询和分析语句(调试) * | SELECT to_utf8('log')查询和分析结果 trim函数trim函数用于删除字符串中开头和结尾的空格。 语法trim(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例删除instance_id字段值的开头和结尾的空格。 字段样例 instance_id: i-01查询和分析语句(调试) * | SELECT trim(instance_id)查询和分析结果 upper函数upper函数用于将目标字符串转化为大写形式。 语法upper(x)参数说明参数 说明 x 参数值为varchar类型。 返回值类型varchar类型。 示例将region字段值转换为大写形式。 字段样例 region:cn-shanghai查询和分析语句(调试) * | SELECT upper(region)查询和分析结果 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |