- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 授权IAM用户使用云日志服务LTS
- 购买LTS资源包
- 日志管理
-
日志接入
- 日志接入概述
- 使用ICAgent插件采集日志
-
使用云服务接入LTS
- 云服务接入LTS概述
- 应用运维管理AOM接入LTS
- API网关APIG接入LTS
- Astro轻应用接入LTS
- 云堡垒机CBH接入LTS
- 内容分发网络CDN接入LTS
- 云防火墙CFW接入LTS
- 云审计服务CTS接入LTS
- 分布式缓存服务DCS接入LTS
- 文档数据库服务DDS接入LTS
- DDoS防护 AAD接入LTS
- 分布式消息服务Kafka版接入LTS
- 数据复制服务DRS接入LTS
- 数据仓库服务GaussDB(DWS)接入LTS
- 弹性负载均衡 ELB接入LTS
- 企业路由器ER接入LTS
- 函数工作流FunctionGraph接入LTS
- 云数据库GaussDB接入LTS
- 图引擎服务GES接入LTS
- 云数据库 TaurusDB接入LTS
- 云数据库GeminiDB接入LTS
- 云数据库GeminiDB Mongo接入LTS
- 云数据库GeminiDB Cassandra接入LTS
- 华为HiLens接入LTS
- 设备接入IoTDA接入LTS
- AI开发平台ModelArts接入LTS
- MapReduce服务MRS接入LTS
- 云数据库RDS for MySQL接入LTS
- 云数据库RDS for PostgreSQL接入LTS
- 云数据库RDS for SQLServer接入LTS
- 应用与数据集成平台ROMA Connect接入LTS
- 视频直播Live接入LTS
- 消息通知服务SMN接入LTS
- 安全云脑SecMaster接入LTS
- 对象存储服务OBS接入LTS(邀测)
- 虚拟私有云VPC接入LTS
- Web应用防火墙WAF接入LTS
- 使用API接入LTS
- 使用SDK接入LTS
- 跨IAM账号接入LTS
- 使用KAFKA协议上报日志到LTS
- 使用Flume采集器上报日志到LTS
- 使用匿名写入采集日志
- 自建中间件
- 日志搜索与分析(默认推荐)
- 日志搜索与分析(管道符方式-邀测)
- 日志可视化
- 日志告警
- 日志转储
- 日志消费与加工
- LTS配置中心管理
- 查看LTS审计事件
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
SQL字符串函数
功能描述
SQL提供字符串函数,用于对字符类型的数据执行拼接、大小写转换等操作,具体请参见表1。
SQL语法中,字符必须被单引号('')包裹,无符号或双引号("")包裹的为字段或表名称,如:'msg'表示字符串msg,msg或"msg"表示日志结构化msg字段。
语法格式
SELECT (fieldname1 || fieldname2) AS fieldname1_fieldname2
字符串函数语句
语句 |
说明 |
示例 |
---|---|---|
CONCAT(expr1, expr2...) |
拼接列举的所有字符串。 |
SELECT str1, str2, str3, CONCAT(str1, str2, str3) WHERE str1 IS NOT NUll |
TEXTCAT(expr, expr) |
拼接两个字符串。 |
SELECT str1, str2, TEXTCAT(str1, str2) WHERE str1 IS NOT NUll |
STRING_FORMAT(pattern[, args...]) |
根据JAVA的String格式对字符串进行格式化。 |
SELECT str1, STRING_FORMAT(str1, '%s') WHERE str1 IS NOT NUll |
LENGTH(expr) |
返回字符串的长度,即字符串中UTF-16字符个数。 |
SELECT LENGTH(str1) WHERE str1 IS NOT NUll |
LOWER(expr) |
将字符串转换为小写形式。 |
SELECT LOWER(str1) WHERE str1 IS NOT NUll |
POSITION(string1 IN string2 [FROM fromIndex]) |
返回string1在string2中首次出现位置的索引。搜索从指定索引开始,如果没有指定索引,则从索引1开始。如果string1不存在于string2中,则返回0。 |
SELECT POSITION(str1 IN str2 FROM 5) |
REGEXP_EXTRACT(expr, pattern, [index]) |
返回字符串中匹配指定正则表达式的子字符串。索引从1开始。如果没匹配,则返回空值。如果没有指定索引,或者索引为0,则返回第一个匹配的子字符串。如想精确匹配,请在正则表达式前后分别加上符号^和$。 |
SELECT REGEXP_EXTRACT(str1, '[A-Za-z]+://[A-Za-z0-9.-]+(/[^ ]*)', 5) |
REGEXP_LIKE(expr, pattern) |
判断字符串是否匹配指定的正则表达式。如想精确匹配,请在正则表达式前后分别加上符号^和$。该函数与LIKE语句用法类似,区别在于LIKE语句搜索的是匹配指定模式的内容。 |
SELECT REGEXP_LIKE(str1, '\.(jpg|jpeg|png|gif)$') |
REPLACE(expr, pattern, replacement) |
使用replacement替换expr中与pattern相同的子字符串。 |
SELECT REPLACE(expr,pattern, replacement) |
STRPOS(string1, string2) |
返回string2在string1中首次出现位置的索引。查找从索引1开始。如果查找没有结果,则返回0。 |
SELECT STRPOS(str1, str2) WHERE str1 IS NOT NUll AND str2 IS NOT NUll |
SUBSTRING(expr, index, [length]) |
截取字符串。从指定索引处开始截取,结束位置由指定长度决定。长度按照UTF-16字符个数计算。 |
SELECT SUBSTRING(str1, 3, 10) WHERE str1 IS NOT NUll |
RIGHT(expr, [length]) |
从字符串最右处开始往左截取指定长度。 |
SELECT RIGHT(str1, 5) WHERE str1 IS NOT NUll |
LEFT(expr, [length]) |
从字符串最左处开始往右截取指定长度。 |
SELECT LEFT(str1, 5) WHERE str1 IS NOT NUll |
SUBSTR(expr, index, [length]) |
与SUBSTRING相同。 |
SELECT SUBSTR(str1, 3, 10) WHERE str1 IS NOT NUll |
UPPER(expr) |
将字符串转换为大写形式。 |
SELECT UPPER(str1) WHERE str1 IS NOT NUll |
REVERSE(expr) |
反转字符串。 |
SELECT REVERSE(str1) WHERE str1 IS NOT NUll |
LPAD(expr, length, chars) |
在字符串左侧填充指定字符,直至字符串达到指定长度。如果指定长度小于字符串本身的长度,则按照指定长度对字符串执行截断操作。如果字符串或指定字符为空值,则返回空值。如果指定字符为空白,不会执行填充操作,但如有必要可能会删减字符。 |
SELECT LPAD(str1, 50, 'testStr') WHERE str1 IS NOT NUll |
RPAD(expr, length, chars) |
在字符串右侧填充指定字符,直至字符串达到指定长度。如果指定长度小于字符串本身的长度,则按照指定长度对字符串执行截断操作。如果字符串或指定字符为空值,则返回空值。如果指定字符为空白,不会执行填充操作,但如有必要可能会删减字符。 |
SELECT RPAD(str1, 50, 'testStr') WHERE str1 IS NOT NUll |
CONTAINS_STRING(<expr>, str) |
判断expr是否包含str字符串 |
SELECT CONTAINS_STRING(log_level,'warn') |
ICONTAINS_STRING(<expr>, str) |
判断expr是否包含str字符串,不区分字符串大小写 |
SELECT ICONTAINS_STRING(log_level,'WARN') |
示例及说明
REPEAT函数
REPEAT(expr, [N])函数将expr重复N次。
- 字段样例
field4:is
- 查询和分析语句
select field4,REPEAT(field4,3)
- 查询和分析结果
表2 查询和分析结果 field4
EXPR$1
Is
isisis