MySQL的字符串函数(十一)下

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL的字符串函数(十一)

二.十九 字符串从开始位置截取 substring_index(str,delimiter,num)


截取字符串 str, 从第 num位置开始的, 以delimiter 进行截取。 如果num 为正数,就截取后展示左边的全部内容。


如果num为负数,就倒着截取,然后展示右边的全部内容。 注意,都不包括分隔符这个内容。


如果str字符串里面没有这个分隔符,就返回str


如一个ip 地址, 192.168.1.101 进行截取。


  select substring_index('192.168.1.101','.',1) as 'a',substring_index('192.168.1.101','.',3) as 'b',
  substring_index('192.168.1.101','.',-1) as 'c',substring_index('192.168.1.101','.','-2') as 'd',
  substring_index('192.168.1.101','+',1) as 'e',substring_index('192.168.1.101','+',-1) as 'f';


20191126150905118.png


二.二十 字符串反转 reverse(s1)


将字符串反转


  select reverse('abcdefg'),reverse('两个蝴蝶飞'),reverse('1234321');


20191126150916393.png


二.二十一 最开始出现子字符串的位置 instr(str1,str2), locate(str2,str1) 与 position(str2 in str1)


三者的作用是一样的,都是查询子字符串最先出现的位置。


注意,str1与str2的位置。 instr与 java中的相同, locate() 与position的顺序正好相反。


如果没有找到,返回 0. 不是传说中的-1.


  select instr('abcde','bcd'),locate('a','abcdefg'),position('cd' in 'abdefg');


20191126150922329.png


二.二十二 指定位置的字符串 ELT(n,str1,str2,str3…)


如果n=1, 就返回str1, n=2 返回 str2, n=3返回str3, 如果n<=0,那么返回null, 如果n> 列表的字符串数目, 也返回null


  select elt(1,'a','b','c'),elt(2,'ab','bcd','c'),elt(0,'ab','ad');


20191126150924938.png


二.二十三 指定字符串的位置 FIELD(s,s1,s2,s3…)


如果s=s1,就返回1, 如果s=s2,就返回2, 如果s=s3 就返回3, 如果找不到,就返回0. 如果s为null, 那么也返回0. 0表示没有找到。


  select field('a','abc','a','ac'), field('ab','ab','abc','ab'),field('a','ab','b','c'),field(null,'a','b');


20191126150934777.png


二.二十四 集合子串的位置 find_in_set(s1,s2)


s2 是一个字符串,用, 进行拼接的。 如果s2为null,如果没有找到s1,就返回0. 如果s1中值为null,就返回null.


  select find_in_set('abc','a,abc,abc,ac,bc'),find_in_set('a','a,b,c,d'),
  find_in_set('a','ab,ac,ad'),find_in_set('a','a,null,b,ab'),
    find_in_set('a','null,a,b,ab'),find_in_set(null,'null,ac,b,ab');


20191126150941607.png


注意,并不是s2中有值为null,就直接返回null了。


二.二十五 选择字符串 make_set(x,s1,s2,s3…)


首先将 数值x 变成二进制数, 将列表值按照 s1,s2,s3…的顺序排序。 变成的二进制数依次排列,如果是1,就取出来,如果是0,就跳过。 取出来的值,如果是null,就跳过不管。


  select make_set(1,'abc','a','b'),make_set(3,'a','c','b'),make_set(5,'a','c','b','d'),
  make_set(5,'a','b',null,'c');


20191126150952157.png


1 二进制是 1, 放置在 ‘abc’,‘a’,‘b’ 里面, 取出 第一个 ‘abc’


3 二进制是11, 放置在 ‘a’,‘c’,‘b’, 取出 第一个a,和第二个c, 为 a,c


5 二进制是101, 放置在 ‘a’,‘c’,‘b’,‘d’, 取出第一个 a, 第二位是0,不取出, 第三位是1, 取出第三位的b, 为a,b


5 二进制是101, 放置在 ‘a’,‘b’,null,‘c’ ,取出第一个a,第二位是0,不取出, 第三位是1,取出null, 但null值跳过,不取,所以为 a.


二.二十六 格式化函数 format(n,d,locale)


locale默认是 ‘en_us’ . d 表示的是小数点位数。


将一个数值类型的数,格式化保留几位小数。 以###,###.## 的形式展示, 千分位展示。


n 即可以是数值类型,也可以是 数值的字符串。


  select format(23,2),format('12345',3),format('123455',2),format(123455,2);


20191126151000283.png


二.二十七 ASCII 码函数 ascii(s1)


字符串s1的第一个字符的 ascii码的值。只算第一个字符值。


  select ascii('abc'),ascii('a'),ascii('A');


20191126151006714.png


谢谢!!!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
关系型数据库 MySQL Serverless
MySQL字符串函数使用技巧
本文为您提供了多个有趣的示例,引导您更深入地了解如何使用MySQL字符串函数。希望这些知识能帮助您更高效地操作数据库。
147 13
|
前端开发 关系型数据库 MySQL
MySQL中常用函数之字符串函数使用详解
MySQL中常用函数之字符串函数使用详解
450 0
|
11月前
|
关系型数据库 MySQL
MySQL中的字符串函数有哪些?
本文介绍了几个常用的字符串函数,包括计算字符串字符数的`CHAR_LENGTH`、计算字符串长度的`LENGTH`、合并字符串的`CONCAT`和`CONCAT_WS`、替换字符串的`INSERT`,以及字母大小写转换的`LOWER`、`LCASE`、`UPPER`和`UCASE`。每个函数都有详细的说明和示例。
323 2
MySQL中的字符串函数有哪些?
|
关系型数据库 MySQL
[MySQL]字符串函数
[MySQL]字符串函数
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
134 2
|
SQL 关系型数据库 MySQL
MySQL魔法秀:揭秘常用字符串函数的神奇操作
MySQL魔法秀:揭秘常用字符串函数的神奇操作
120 1
|
SQL 关系型数据库 MySQL
MySQL 数值函数,字符串函数与多表查询
MySQL 数值函数,字符串函数与多表查询
85 0
|
SQL 关系型数据库 MySQL
⑥ 【MySQL函数】字符串函数、数值函数、日期函数、流程函数
⑥ 【MySQL函数】字符串函数、数值函数、日期函数、流程函数
148 0
|
SQL 关系型数据库 MySQL
Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数
Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数
136 0

推荐镜像

更多