开发指南—函数—字符串函数

简介: 本文介绍了PolarDB-X支持及不支持的字符串函数

支持函数

PolarDB-X支持如下字符串函数:

函数名 描述 示例
ASCII(s) 返回字符串s的第一个字符的ASCII码 返回CustomerName字段第一个字母的ASCII码:

SELECT ASCII(CustomerName) AS NumCodeOfFirstChar FROM Customers;

CHAR_LENGTH(s) 返回字符串s的字符数 返回字符串RUNOOB的字符数:

SELECT CHAR_LENGTH("RUNOOB") AS LengthOfString;

CHARACTER_LENGTH(s) 返回字符串s的字符数 返回字符串RUNOOB的字符数:

SELECT CHARACTER_LENGTH("RUNOOB") AS LengthOfString;

CONCAT(s1,s2...sn) 字符串s1,s2等多个字符串合并为一个字符串 合并多个字符串:

SELECT CONCAT("SQL ", "Runoob ", "Gooogle ", "Facebook") AS ConcatenatedString;

CONCAT_WS(x, s1,s2...sn) 同CONCAT(s1,s2,...)函数,但是每个字符串之间要加上x,x可以是分隔符 合并多个字符串,并添加分隔符:

SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!") AS ConcatenatedString;

FIELD(s,s1,s2...) 返回第一个字符串s在字符串列表(s1,s2...)中的位置 返回字符串c在列表值中的位置:

SELECT FIELD("c", "a", "b", "c", "d", "e");

FIND_IN_SET(s1,s2) 返回在字符串s2中与s1匹配的字符串的位置 返回字符串c在指定字符串中的位置:

SELECT FIND_IN_SET("c", "a,b,c,d,e");

FORMAT(x,n) 函数可以将数字x进行格式化"#,###.##", 将x保留到小数点后n位,最后一位四舍五入。 格式化数字"#,###.##"形式:

SELECT FORMAT(250500.5634, 2);

返回:

-- 250,500.56

INSERT(s1,x,len,s2) 字符串s2替换s1的x位置开始长度为len的字符串 从字符串第一个位置开始的6个字符替换为 runoob:

SELECT INSERT("google.com", 1, 6, "runoob");

返回:

-- runoob.com

LOCATE(s1,s) 从字符串s中获取s1的开始位置
  • 获取st在字符串myteststring中的位置:SELECT LOCATE('st','myteststring');
    返回:
    -- 5
  • 返回字符串abc中b的位置:SELECT LOCATE('b', 'abc');
    返回:
    -- 2
LCASE(s) 将字符串s的所有字母变成小写字母 字符串RUNOOB转换为小写:

SELECT LCASE('RUNOOB');

返回:

-- runoob

LEFT(s,n) 返回字符串s的前n个字符 返回字符串runoob中的前两个字符:

SELECT LEFT('runoob',2);

返回:

-- ru

LOWER(s) 将字符串s的所有字母变成小写字母 字符串RUNOOB转换为小写:

SELECT LOWER('RUNOOB');

-- runoob

LPAD(s1,len,s2) 在字符串s1的开始处填充字符串s2,使字符串长度达到len 将字符串xx填充到abc字符串的开始处:

SELECT LPAD('abc',5,'xx')

返回:

-- xxabc

LTRIM(s) 去掉字符串s开始处的空格 去掉字符串RUNOOB开始处的空格:

SELECT LTRIM("RUNOOB") AS LeftTrimmedString;

返回:

-- RUNOOB

MID(s,n,len) 从字符串s的n位置截取长度为len的子字符串,同SUBSTRING(s,n,len) 从字符串RUNOOB中的第2个位置截取3个 字符:

SELECT MID("RUNOOB", 2, 3) AS ExtractString;

返回:

-- UNO

POSITION(s1 IN s) 从字符串s中获取s1的开始位置 返回字符串abc中b的位置:

SELECT POSITION('b' in 'abc');

返回:

-- 2

REPEAT(s,n) 将字符串s重复n次 将字符串runoob重复三次:

SELECT REPEAT('runoob',3;

返回:

-- runoobrunoobrunoob

REPLACE(s,s1,s2) 将字符串s2替代字符串s中的字符串s1 将字符串abc中的字符a替换为字符x:

SELECT REPLACE('abc','a','x');

返回:

--xbc

REVERSE(s) 将字符串s的顺序反过来 将字符串abc的顺序反过来:

SELECT REVERSE('abc');

返回:

-- cba

RIGHT(s,n) 返回字符串s的后n个字符 返回字符串runoob的后两个字符:

SELECT RIGHT('runoob',2);

返回:

-- ob

RPAD(s1,len,s2) 在字符串s1的结尾处添加字符串s2,使字符串的长度达到len 将字符串xx填充到abc字符串的结尾处:

SELECT RPAD('abc',5,'xx');

返回:

-- abcxx

RTRIM(s) 去掉字符串s结尾处的空格 去掉字符串RUNOOB的末尾空格:

SELECT RTRIM("RUNOOB") AS RightTrimmedString;

返回:

-- RUNOOB

SPACE(n) 返回n个空格 返回10个空格:

SELECT SPACE(10);

STRCMP(s1,s2) 比较字符串s1和s2,如果s1与s2相等返回0 ,如果s1>s2返回1,如果s1<s2,返回-1 比较字符串:

SELECT STRCMP("runoob", "runoob");

返回:

-- 0

SUBSTR(s, start, length) 从字符串s的start位置截取长度为length的子字符串 从字符串RUNOOB中的第2个位置截取3个 字符:

SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString;

返回:

-- UNO

SUBSTRING(s, start, length) 从字符串s的start位置截取长度为length的子字符串 从字符串RUNOOB中的第2个位置截取3个 字符:

SELECT SUBSTRING("RUNOOB", 2, 3) AS ExtractString;

返回:

-- UNO

SUBSTRING_INDEX(s, delimiter, number) 返回从字符串s的第number个出现的分隔符delimiter之后的子串。

如果number是正数,返回第number个字符左边的字符串。

如果number是负数,返回第(number的绝对值(从右边数))个字符右边的字符串。

  • SELECT SUBSTRING_INDEX('a*b','*',1);
    返回:
    -- a
  • SUBSTRING_INDEX('a*b','*',-1);
    返回:
    -- b
  • SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*',3),'*',-1);
    返回:
    -- c
TRIM(s) 去掉字符串s开始和结尾处的空格

去掉字符串RUNOOB的首尾空格:

SELECT TRIM('RUNOOB') AS TrimmedString;

UCASE(s) 将字符串转换为大写

将字符串runoob转换为大写:

SELECT UCASE("runoob");

返回:

-- RUNOOB

UPPER(s) 将字符串转换为大写

将字符串runoob转换为大写:

SELECT UPPER("runoob");

返回:

-- RUNOOB

不支持函数

与MySQL5.7相比,PolarDB-X暂不支持如下字符串函数:

函数名 描述
LOAD_FILE() 加载文件
MATCH 全文检索
SOUNDS LIKE 同音字符串比较
相关文章
|
关系型数据库 MySQL 索引
MySQL基础教程10——函数—字符串函数
注意: 只会去除头尾的空格,内容中间的空格是不会受影响的。
开发指南—函数—字符串函数
本文介绍了PolarDB-X支持及不支持的字符串函数
开发指南—函数—转换函数
本文介绍了PolarDB-X支持的转换函数
开发指南—函数—数学函数
本文介绍了PolarDB-X支持的数学函数。
|
3天前
|
SQL 人工智能 安全
【灵码助力安全1】——利用通义灵码辅助快速代码审计的最佳实践
本文介绍了作者在数据安全比赛中遇到的一个开源框架的代码审计过程。作者使用了多种工具,特别是“通义灵码”,帮助发现了多个高危漏洞,包括路径遍历、文件上传、目录删除、SQL注入和XSS漏洞。文章详细描述了如何利用这些工具进行漏洞定位和验证,并分享了使用“通义灵码”的心得和体验。最后,作者总结了AI在代码审计中的优势和不足,并展望了未来的发展方向。
|
11天前
|
编解码 Java 程序员
写代码还有专业的编程显示器?
写代码已经十个年头了, 一直都是习惯直接用一台Mac电脑写代码 偶尔接一个显示器, 但是可能因为公司配的显示器不怎么样, 还要接转接头 搞得桌面杂乱无章,分辨率也低,感觉屏幕还是Mac自带的看着舒服
|
18天前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
2782 8
|
13天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1576 12
|
5天前
|
人工智能 关系型数据库 Serverless
1024,致开发者们——希望和你一起用技术人独有的方式,庆祝你的主场
阿里云开发者社区推出“1024·云上见”程序员节专题活动,包括云上实操、开发者测评和征文三个分会场,提供14个实操活动、3个解决方案、3 个产品方案的测评及征文比赛,旨在帮助开发者提升技能、分享经验,共筑技术梦想。
715 95
|
1月前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇