华为云用户手册

  • 日志搜索与分析概述 日志搜索与分析是运维中不可或缺的一环。日志接入成功后, 云日志 服务(LTS)支持对采集成功的日志数据进行搜索与分析。通过合理的日志收集、高效的搜索方法和专业的分析工具,可以实现对系统或应用的全面监控和精细化管理。 执行搜索与分析前,需要将上报的日志进行结构化配置和索引配置,因为结构化后数据具有严格的长度和格式,方便进行搜索与分析。详细请参考设置云端结构化解析日志和设置LTS日志索引配置。 结构化完成后,使用云日志服务(LTS)提供的搜索语法用于设置搜索条件,帮助您更有效地搜索日志。详细请参考搜索日志。 云日志服务(LTS)支持使用SQL分析语法,对结构化后的日志字段进行 日志分析 ,通过统计图表的方式对查询和分析的结果进行可视化展示。详细请参考分析LTS日志。 父主题: 日志搜索与分析(默认推荐)
  • compare函数 用于对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 语法:compare(x, n) 对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。 语法:compare(x, n1, n2, n3...) 表2 参数说明 参数名称 描述 类型 是否必选 x 待同比表达式。 double 是 n? 时间窗口,单位为秒。例如3600(1小时)、86400(1天)、604800(1周)、31622400(1年)。 long 是 返回类型 JSON数组。格式为[当前计算结果,n秒前的计算结果,当前计算结果与n秒前计算结果的比值]。 示例说明 计算当前1小时和昨天同时段的访问量比值。 选择查询和分析的时间范围为1小时(整点时间),并执行如下查询和分析语句。其中86400表示当前时间减去86400秒(1天)。 SELECT compare(PV, 86400) FROM (SELECT count(*) AS PV ) 查询和分析结果。 图1 查询和分析结果 5994.0表示当前1小时(例如2021-01-02 00:00:00~2021-01-02 01:00:00)的网站访问量。 6000.0表示昨天同时段(例如2021-01-01 00:00:00~2021-01-01 01:00:00)的网站访问量。 0.999表示当前1小时与昨天同时段的网站访问量比值。 分列显示查询和分析结果。 SELECT diff[1] as "today", diff[2] as "yesterday", diff[3] as "ratio" FROM(SELECT compare(pv, 86400) AS diff FROM (SELECT count(*) AS pv )) 图2 查询和分析结果
  • ts_compare函数 ts_compare函数用于对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 ts_compare函数必须按照时间列进行分组(GROUP BY)。 语法格式 对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 ts_compare(x, n) 对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。 ts_compare(x, n1, n2, n3...) 表3 环比函数参数说明 参数 说明 x 参数值为double类型或long类型。 n 时间窗口,单位为秒。例如3600(1小时)、86400(1天)、604800(1周)、31622400(1年)。 返回类型 JSON数组。格式为[当前计算结果, n秒前的计算结果, 当前计算结果与n秒前计算结果的比值, n秒前的UNIX时间戳]。 示例说明 环比今天3小时与昨天3小时的网站访问量。 选择查询和分析的时间范围为今天某3小时,并执行如下查询和分析语句。其中86400表示当前时间减去86400秒(1天),date_trunc('hour',__time)表示使用date_trunc函数将时间对齐到小时。 查询和分析语句 * | SELECT t_time, ts_compare(PV, 86400) AS data FROM( SELECT to_unixtime(date_trunc('hour', __time)) AS t_time, count(*) AS PV GROUP BY t_time ORDER BY t_time ) GROUP BY t_time 查询和分析结果 t_time data 2021-10-26T06:00:00.000Z [159.0,224.0,0.7098214285714286,1.6351416E9] 2021-10-26T07:00:00.000Z [100.0,148.0,0.6756756756756757,1.6351452E9] 2021-10-26T08:00:00.000Z [100.0,100.0,1.0, 1.6016544E9, 1.6351488E9]
  • compare函数 compare函数用于对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 语法格式 对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 compare(x,n) 对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。 compare(x, n1, n2, n3...) 参数说明 表1 同比函数参数说明 参数 说明 x 目标列的列名,参数值为double类型或long类型。 n 时间窗口,单位为秒。例如3600(1小时)、86400(1天)、604800(1周)、31622400(1年)。 返回类型 JSON数组。格式为[当前计算结果,n秒前的计算结果,当前计算结果与n秒前计算结果的比值]。 示例说明 计算当前1小时和昨天同时段的访问量比值。 选择查询和分析的时间范围为1小时(整点时间),并执行如下查询和分析语句。其中86400表示当前时间减去86400秒(1天)。 SELECT compare(PV, 86400) FROM (SELECT count(*) AS PV ) 查询和分析结果 图1 查询和分析结果 5994.0表示当前1小时(例如2021-01-02 00:00:00~2021-01-02 01:00:00)的网站访问量。 6000.0表示昨天同时段(例如2021-01-01 00:00:00~2021-01-01 01:00:00)的网站访问量。 0.999表示当前1小时与昨天同时段的网站访问量比值。 分列显示查询和分析结果 SELECT diff[1] as "today", diff[2] as "yesterday", diff[3] as "ratio" FROM(SELECT compare(pv, 86400) AS diff FROM (SELECT count(*) AS pv )) 图2 查询和分析结果
  • ts_compare函数 ts_compare函数用于对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 ts_compare函数必须按照时间列进行分组(GROUP BY)。 语法格式 对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。 ts_compare(x, n) 对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。 ts_compare(x, n1, n2, n3...) 参数说明 表2 环比函数参数说明 参数 说明 x 参数值为double类型或long类型。 n 时间窗口,单位为秒。例如3600(1小时)、86400(1天)、604800(1周)、31622400(1年)。 返回类型 JSON数组。格式为[当前计算结果, n秒前的计算结果, 当前计算结果与n秒前计算结果的比值, n秒前的UNIX时间戳]。 示例说明 环比今天3小时与昨天3小时的网站访问量。 选择查询和分析的时间范围为今天某3小时,并执行如下查询和分析语句。其中86400表示当前时间减去86400秒(1天),date_trunc('hour',__time)表示使用date_trunc函数将时间对齐到小时。 查询和分析语句 SELECT t_time, ts_compare(PV, 86400) AS data FROM( SELECT date_trunc('hour', __time) AS t_time, count(*) AS PV GROUP BY t_time ORDER BY t_time ) GROUP BY t_time 查询和分析结果 t_time data 2021-10-26T06:00:00.000Z [159.0,224.0,0.7098214285714286,1.6351416E9] 2021-10-26T07:00:00.000Z [100.0,148.0,0.6756756756756757,1.6351452E9] 2021-10-26T08:00:00.000Z [100.0,100.0,1.0, 1.6016544E9, 1.6351488E9]
  • 示例及说明 GREATEST([expr1, ...])/ LEAST([expr1, ...])函数 GREATEST函数,计算零个或多个表达式,并根据上述比较返回最大值。 LEAST函数,计算零个或多个表达式,并根据上述比较返回最小值。 字段样例 Num: 11785730 查询和分析语句 select Num,GREATEST( "Num"/10,(select count(1)) ),LEAST("Num"/10,(select count(1))) 查询和分析结果 表1 归约函数查询和分析结果 Num EXPR$1 EXPR$2 11785730 1178573 1
  • 功能描述 归约函数对零个或多个表达式进行操作,并返回单个表达式。如果没有表达式作为参数传递,则结果为 NULL。表达式必须全部转换为公共数据类型,即结果的类型有: 如果所有的参数都是 NULL,结果是 NULL,否则,NULL 参数被忽略。 如果所有的参数包含了数字和字符串的混合,参数都被解释为字符串。 如果所有的参数是整型数字,参数都被解释为长整型。 如果所有的参数是数值且至少一个参数是double,则参数都被解释为double。
  • IP函数语句 表1 IP函数语句 语句 说明 示例 ip_to_province 分析目标IP地址所属省份。 ip_to_province(x) ip_to_country 分析目标IP地址所属国家或地区。 ip_to_country(x) ip_to_city 分析目标IP地址所属城市。 ip_to_city(x) ip_to_provider 分析目标IP地址所对应的网络运营商。 ip_to_provider(x) ip_to_geo 根据传入的ip返回ip所在的经纬度。 ip_to_geo(x)
  • 示例及说明 ip_to_province函数 统计请求总数Top3的省份。 查询和分析语句 SELECT count(*) AS PV, ip_to_province(client_ip) AS province GROUP BY province ORDER BY PV desc LIMIT 3 查询和分析结果 表2 查询和分析结果 PV province 101 广东 83 上海 78 山东 ip_to_country函数 统计请求总数的Top3的国家或地区。 查询和分析语句 SELECT count(*) AS PV, ip_to_country(client_ip) AS county GROUP BY country ORDER BY PV desc LIMIT 3 查询和分析结果 表3 查询和分析结果 PV country 100 中国 76 美国 55 加拿大 ip_to_city函数 统计请求总数的Top3的城市。 查询和分析语句 SELECT count(*) AS PV, ip_to_city(client_ip) AS city GROUP BY city ORDER BY PV desc LIMIT 3 查询和分析结果 表4 查询和分析结果 PV city 109 广州 89 上海 23 西安 ip_to_provider函数 统计请求总数的Top3的运营商。 查询和分析语句 SELECT count(*) AS PV, ip_to_provider(client_ip) AS provider GROUP BY provider ORDER BY PV desc LIMIT 3 查询和分析结果 表5 查询和分析结果 PV provider 115 电信 65 att.com 44 联通 ip_to_geo函数 根据传入的ip返回经纬度。 查询和分析语句 SELECT count(*) AS PV, ip_to_geo (client_ip) AS geo GROUP BY province ORDER BY PV desc LIMIT 3 查询和分析结果 表6 PV geo 101 *, * 83 47.369013, -68.326674 78 32.715891, -117.161588
  • LTS SDK接入错误码 当您使用LTS SDK报错时,请参见表1进行处理。 表1 错误码 状态码 错误码 错误信息 描述 处理措施 参数类错误(LTS.00XX) LTS.0001 %@ is null. 参数%@为空。 请设置非空的参数后重试。 LTS.0002 %@ is invalid. 参数%@的类型、格式无效。 请设置有效的参数后重试。 LTS.0003 The length of %@ exceeds the maximum value of %@. 参数%@的长度超过了最大值%@。 请修改参数长度后重试。 LTS.0004 The value of %@ must be between %@ and %@. 参数%@的值必须在%@-%@之间。 请修改参数值后重试。 LTS.0006 %@ doesn't match pattern. 参数%@不匹配正则表达式。 请设置符合正则表达式的参数后重试。 LTS.0007 Invalid configuration parameters. 无效的配置参数。 请设置正确的配置项参数后重试。 LTS.0009 Unsupported region. 上报日志不支持该地区。 请使用下列有效区域:cn-north-4。 集成类错误(LTS.01XX) LTS.0100 The LTSSDK is not initialized. SDK未初始化。 请设置符合规则的配置参数,正确初始化SDK。 LTS.0102 The LTSSDK requires %@ or higher. SDK要求%@及以上操作系统。 请根据提示调整最低操作系统版本。 LTS.0103 Open database failed, code=%@. 打开数据库失败。 请根据sqlite3 error code查询具体情况。 LTS.0104 Create database table failed, code=%@, error=%@. 创建数据表失败。 请根据sqlite3 error code查询具体情况。 LTS.0105 Insert into database failed, code=%@, error=%@. 插入数据失败。 请根据sqlite3 error code查询具体情况。 LTS.0106 Delete from database failed, code=%@, error=%@. 删除数据失败。 请根据sqlite3 error code查询具体情况。 LTS.0107 Select from database failed, code=%@, error=%@. 查询数据失败。 请根据sqlite3 error code查询具体情况。 LTS.0108 Close database failed, code=%@. 关闭数据库失败。 请根据sqlite3 error code查询具体情况。 LTS.0109 Reduce database size failed, code=%@, error=%@. 减小数据库大小失败。 请根据sqlite3 error code查询具体情况。 LTS.0110 Begin transaction failed, code=%@, error=%@. 开启事务失败。 请根据sqlite3 error code查询具体情况。 LTS.0111 Commit transaction failed, code=%@, error=%@. 提交事务失败。 请根据sqlite3 error code查询具体情况。 LTS.0112 The count of database records exceeds the maximum value of %@,will delete %@ records before inserting. 数据库达到最大日志条数限制。 将自动删除适量老日志,再插入新日志。 LTS.0113 Add column(%@) to database failed, code=%d, error=%s. 添加数据库表字段失败。 请根据sqlite3 error code查询具体情况。 LTS.0114 Update column(%@) to database failed, code=%d, error=%s. 更新数据库表字段失败。 请根据sqlite3 error code查询具体情况。 系统类错误(LTS.02XX) LTS.0201 Request signature failed. 网络请求签名失败。 请检查region和设备时间(时区)是否正确。 LTS.0202 Write to file failed. 写入文件失败。 请检查文件写权限。 LTS.0203 No file read and write permissions. 无文件读写权限。 请授权文件/目录读写权限。 网络类错误 (LTS.03XX) LTS.0300 Request failed,response code=%@,error=%@. 请求发送失败。 请参考API参考中的错误码。 父主题: 使用SDK接入LTS
  • normalize函数 格式化字符串str。 使用NFC格式格式化字符串str。 语法:normalize(str) 使用给定格式格式化字符串str,支持的格式有NFC, NFD, NFKC, NFKD. 语法:normalize(str, form) 表46 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 form 格式化类型。 String 否 返回值类型:String类型 示例:SELECT NORMALIZE('schön'), NORMALIZE('Henry \u2163', 'nfd') 表47 查询分析结果 类型 场景1 场景2 查询语句 NORMALIZE('schön') NORMALIZE('Henry \u2163', 'nfd') 返回结果 schön Henry Ⅳ
  • levenshtein_distance函数 计算两个字符串str1和str2之间的最小编辑距离。 语法:levenshtein_distance(str1, str2) 表44 参数说明 参数名称 描述 类型 是否必选 str1 原始字符串1。 String 是 str2 原始字符串2。 String 是 返回值类型:Integer类型 示例:SELECT LEVENSHTEIN_DISTANCE('horse', 'ros') 表45 查询分析结果 类型 场景 查询语句 LEVENSHTEIN_DISTANCE('horse', 'ros') 返回结果 3
  • char_length函数 与length函数功能一致,如果字符串表达式是字符数据类型,则返回输入的字符长度;否则,返回字符串表达式的字节长度(不小于位数除以8的最小整数)。 语法:char_length(str) 表38 参数说明 参数名称 描述 类型 是否必选 str 原始字符串 String 是 返回值类型:Integer类型 示例:SELECT CHAR_LENGTH('HELLO WORLD') 表39 查询分析结果 类型 场景 查询语句 CHAR_LENGTH('HELLO WORLD') 返回结果 11
  • substring函数 使用起始位置和长度返回子字符串。如果没有长度参数,则返回从起始位置开始的整个字符串。 语法:substring(str, start, length) 表34 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 start 开始提取子串的位置,从1开始。 Integer 是 length 子串的长度。 Integer 否 返回值类型:String类型 示例:SELECT SUBSTRING('helloworld', 5), SUBSTRING('helloworld', 5, 3) 表35 查询分析结果 类型 场景1 场景2 查询语句 SUBSTRING('helloworld', 5) SUBSTRING('helloworld', 5, 3) 返回结果 oworld owo
  • character_length函数 与length函数功能一致。 语法:character_length(str) 表40 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 返回值类型:Integer类型 示例:SELECT CHARACTER_LENGTH('HELLO WORLD') 表41 查询分析结果 类型 场景 查询语句 CHARACTER_LENGTH('HELLO WORLD') 返回结果 11
  • length函数 如果字符串表达式是字符数据类型,则返回输入的字符长度;否则,返回字符串表达式的字节长度(不小于位数除以8的最小整数)。 语法:length(str) 表36 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 返回值类型:Integer类型 示例:SELECT LENGTH('HELLO WORLD') 表37 查询分析结果 类型 场景1 查询语句 LENGTH('HELLO WORLD') 返回结果 11
  • split_to_map函数 使用指定的第一个分隔符拆分字符串,然后使用指定的第二个分隔符第二次拆分字符串。返回第二次拆分后的结果。 语法:split_to_map(str, splitStr1, splitStr2) 表26 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 splitStr1 分隔符1。 String 是 splitStr2 分隔符2。 String 是 返回值类型:ARRAY类型 示例:SELECT SPLIT_TO_MAP('upstream_response_time:123, request_time:456', ',', ':') 表27 查询分析结果 类型 场景 查询语句 SPLIT_TO_MAP('upstream_response_time:123, request_time:456', ',', ':') 返回结果 {" request_time":"456","upstream_response_time":"123"}
  • strpos函数 查询目标子串初次出现在字符串中的位置,如果目标子串未出现在字符串中,则返回0。 语法:strpos(str, subStr) 表30 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 subStr 填充字符。 String 是 返回值类型:Integer类型 示例:SELECT STRPOS('hello world', 'llo'), STRPOS('llo', 'hello world') 表31 查询分析结果 类型 场景1 场景2 查询语句 STRPOS('hello world', 'llo') STRPOS('llo', 'hello world') 返回结果 3 0
  • string_format函数 返回以Java的String.format方式格式化的字符串。 语法:string_format(str, Object... args) 表28 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 args 参数。 String/Integer/Long/Boolean/Double 是 返回值类型:String类型 示例:SELECT STRING_FORMAT('My name is %s and I am %d years old.', 'name', age) 表29 查询分析结果 类型 场景 查询语句 STRING_FORMAT('My name is %s and I am %d years old.', 'Tom', 25) 返回结果 My name is Tom and I am 25 years old. %d:Output integer. %f:Output floating point number. %s:Output character string. %n:Output newline character. %c:Output Characters %b:Output bool type %e:Output Exponential Type %tc:Output Date and time information %tF:Output format is YYY-MM-DD. %tr:Output in HH:MM:SS PM format 可以参考Java的String.format获取更多的细节
  • substr函数 使用起始位置和长度返回子字符串。如果没有长度参数,则返回从起始位置开始的整个字符串,同substring。 语法:substr(str, start, length) 表32 参数说明 参数名称 描述 类型 是否必选 str 原始字符串 String 是 start 开始提取子串的位置,从1开始 Integer 是 length 子串的长度 Integer 否 返回值类型:String类型 示例:SELECT SUBSTR('helloworld', 5), SUBSTR('helloworld', 5, 3) 表33 查询分析结果 类型 场景1 场景2 查询语句 SUBSTR ('helloworld', 5) SUBSTR ('helloworld', 5, 3) 返回结果 oworld owo
  • contains_string函数 判断字符串是否包含指定字符串。 语法:contains_string(str, containsStr) 表12 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 containsStr 指定字符串。 String 是 返回值类型:Boolean类型 示例:SELECT CONTAINS_STRING('hello world', 'llo') 表13 查询分析结果 类型 场景 查询语句 CONTAINS_STRING('hello world', 'llo') 返回结果 true
  • parse_long函数 将字符串转换成基于指定基数的Long型,如果未指定基数,则基于十进制对原始字符串进行转换。 语法:parse_long(str, radix) 表20 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 radix 基数。 Integer 否 返回值类型:Long类型 示例:SELECT PARSE_LONG('-1234', 8), PARSE_LONG('1234') 表21 查询分析结果 类型 场景1 场景2 查询语句 PARSE_LONG('-1234', 8) PARSE_LONG('1234') 返回结果 -668 1234
  • split_part函数 使用指定的分隔符拆分字符串,并返回指定位置的字符串。如果拆分后指定的位置超过数组的长度,则返回“”。 语法:split_part(str, splitStr, position) 表24 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 splitStr 分隔符。 String 是 position 需要返回的字符串的位置。 Integer 是 返回值类型:STRING类型 示例:SELECT SPLIT_PART('helloworld', 'o', 2), SPLIT_PART('helloworld', 'o', 4) 表25 查询分析结果 类型 场景1 场景2 查询语句 SPLIT_PART('helloworld','o', 2) SPLIT_PART('helloworld', 'o', 4) 返回结果 w
  • icontains_string函数 判断字符串是否不包含指定字符串。 语法:icontains_string(str, containsStr) 表14 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 containsStr 指定字符串。 String 是 返回值类型:Boolean类型 示例:SELECT ICONTAINS_STRING('hello world', 'llo') 表15 查询分析结果 类型 场景 查询语句 ICONTAINS_STRING('hello world', 'llo') 返回结果 false
  • textcat函数 将两个字符串拼接起来,返回拼接后的结果。 语法:textcat(str1, str2) 表16 参数说明 参数名称 描述 类型 是否必选 str1 待拼接字符串1。 String 是 str2 待拼接字符串2。 String 是 返回值类型:String类型 示例:SELECT TEXTCAT('hello ', 'world') 表17 查询分析结果 类型 场景 查询语句 TEXTCAT('hello ', 'world') 返回结果 hello world
  • lpad函数 在字符串的开头填充指定字符,直到指定长度后返回结果字符串。如果未指定填充字符,则使用“ ”进行填充。 语法:lpad(str, len, lpadStr) 表2 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 len 结果字符串的长度。 如果原始字符串的长度小于len,那么在字符串的开头填充指定的字符。 如果原始字符串的长度大于len,那么只返回字符串的len个字符。 int 是 lpadStr 填充字符。 String 否 返回值类型:String类型 示例:SELECT LPAD('hello world', 10), LPAD('hello', 10, 'e') 表3 查询分析结果 类型 场景1 场景2 查询语句 LPAD('hello world', 10) LPAD('hello', 10, 'e') 返回结果 hello worl eeeeehello
  • repeat函数 将字符串重复指定次数。 语法:repeat(str, num) 表10 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 num 重复次数 Integer 是 返回值类型:String类型 示例:SELECT REPEAT('hello world', 2), REPEAT('hello world', 0) 表11 查询分析结果 类型 场景1 场景2 查询语句 REPEAT('hello world', 2) REPEAT('hello world', 0) 返回结果 hello worldhello world
  • replace函数 将字符串中的匹配字符串替换成指定的字符串,如果未指定替换字符串,则将匹配的字符串从原来的字符串中删除。 语法:replace(str, subStr, replaceStr) 表6 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 subStr 目标子串。 String 是 replaceStr 用于替换的字符串。 String 否 返回值类型:String类型 示例:SELECT REPLACE('hello world', 'o'), REPLACE('hello world', 'w', 'new w') 表7 查询分析结果 类型 场景1 场景2 查询语句 REPLACE('hello world', 'o') REPLACE('hello world', 'w', 'new w') 返回结果 hell wrld hello new world
  • rpad函数 在字符串的结尾填充指定字符,直到指定长度后返回结果字符串。如果未指定填充字符,则使用“ ”进行填充。 语法:rpad(str, len, rpadStr) 表4 参数说明 参数名称 描述 类型 是否必选 str 原始字符串。 String 是 len 结果字符串的长度。 如果原始字符串的长度小于len,那么在字符串的结尾填充指定的字符。 如果原始字符串的长度大于len,那么只返回字符串的len个字符。 Integer 是 rpadStr 填充字符。 String 否 返回值类型:String类型 示例:SELECT RPAD('hello world', 10), RPAD('hello', 10, 'e') 表5 查询分析结果 类型 场景1 场景2 查询语句 RPAD('hello world', 10) RPAD('hello', 10, 'e') 返回结果 hello worl helloeeeee
  • 函数列表 表1 字符串函数 函数 描述 lpad函数 在字符串的开头填充指定字符,直到指定长度后返回结果字符串。如果未指定填充字符,则使用“ ”进行填充。 rpad函数 在字符串的结尾填充指定字符,直到指定长度后返回结果字符串。如果未指定填充字符,则使用“ ”进行填充。 replace函数 将字符串中的匹配字符串替换成指定的字符串,如果未指定替换字符串,则将匹配的字符串从原来的字符串中删除。 reverse函数 将字符串转换成反向顺序的字符串。 repeat函数 将字符串重复指定次数。 contains_string函数 判断字符串是否包含指定字符串。 icontains_string函数 判断字符串是否不包含指定字符串。 textcat函数 将两个字符串拼接起来,返回拼接后的结果。 btrim函数 删除字符串左右两侧的空格。 parse_long函数 将字符串转换成基于指定基数的Long型,如果未指定基数,则基于十进制对原始字符串进行转换。 split函数 使用指定的分隔符拆分字符串,并返回子字符串的集合。如果设置了limit,则使用limit限制拆分字符串的数量。 split_part函数 使用指定的分隔符拆分字符串,并返回指定位置的字符串。如果拆分后指定的位置超过数组的长度,则返回“”。 split_to_map函数 使用指定的第一个分隔符拆分字符串,然后使用指定的第二个分隔符第二次拆分字符串,返回第二次拆分后的结果。 string_format函数 返回以Java的String.format方式格式化的字符串。 strpos函数 查询目标子串初次出现在字符串中的位置,如果目标子串未出现在字符串中,则返回0。 substr函数 使用起始位置和长度返回子字符串。如果没有长度参数,则返回从起始位置开始的整个字符串,同substring。 substring函数 使用起始位置和长度返回子字符串。如果没有长度参数,则返回从起始位置开始的整个字符串。 length函数 如果字符串表达式是字符数据类型,则返回输入的字符长度;否则,返回字符串表达式的字节长度(不小于位数除以8的最小整数)。 char_length函数 与length函数功能一致,如果字符串表达式是字符数据类型,则返回输入的字符长度;否则,返回字符串表达式的字节长度(不小于位数除以8的最小整数)。 character_length函数 与length函数功能一致。 strlen函数 与length函数功能一致。 levenshtein_distance函数 计算两个字符串str1和str2之间的最小编辑距离。 normalize函数 格式化字符串。 to_utf8函数 将字符串转换为UTF-8编码格式。 chr函数 将ascii值转换成字符。 concat函数 用于将多个参数拼接成一个字符串。
共100000条