【MySQL用法】Mysql字符串截取总结:left()函数、right()函数、substring()函数、substring_index()函数

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【MySQL用法】Mysql字符串截取总结:left()函数、right()函数、substring()函数、substring_index()函数

在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。

语法:

LEFT(str,len)

Returns the leftmost len characters from the string str, or NULL if any argument is NULL.

返回从字符串str最左边的len个字符,如果任一参数为null则返回null。

RIGHT(str,len)

Returns the rightmost len characters from the string str, or NULL if any argument is NULL.

返回从字符串str最右边的len个字符,如果任一参数为null则返回null。

实例如下:

SELECT left('www.baidu.com', 3);        # www

SELECT left(NULL , 4);            # null

SELECT left('www.baidu.com', NULL);     # null

SELECT right('www.baidu.com', 3);       # com

SELECT right(NULL , 3);           # null

SELECT right('www.baidu.com', NULL );   # null

以下为详细介绍:

一、left()函数

从左开始截取字符串

用法:left(str, length),即:left(被截取字符串, 截取长度)

SELECT LEFT('www.baidu.com',8)

结果为:www.baid

二、right()函数

从右开始截取字符串

用法:right(str, length),即:right(被截取字符串, 截取长度)

SELECT RIGHT('www.baidu.com',6)

结果为:du.com

三、substring()函数

截取特定长度的字符串

用法:

   substring(str, pos),即:substring(被截取字符串, 从第几位开始截取)

   substring(str, pos, length),即:substring(被截取字符串,从第几位开始截取,截取长度)

1.从字符串的第7个字符开始读取直至结束

SELECT SUBSTRING('www.baidu.com', 8)

结果为:du.com

2.从字符串的第8个字符开始,只取4个字符

SELECT SUBSTRING('www.baidu.com', 8, 4)

结果为:du.c

3.从字符串的倒数第6个字符开始读取直至结束

SELECT SUBSTRING('www.baidu.com', -6)

结果为:du.com

4.从字符串的倒数第6个字符开始读取,只取2个字符

SELECT SUBSTRING('www.baidu.com', -6, 2)

结果为:du

四、substring_index()函数

按关键字进行读取

用法:substring_index(str, delim, count),即:substring_index(被截取字符串,关键字,关键字出现的次数)

1.截取第二个“.”之前的所有字符

SELECT SUBSTRING_INDEX('www.baidu.com', '.', 2);

结果为:www.baidu

2.截取倒数第二个“.”之后的所有字符

SELECT SUBSTRING_INDEX('www.baidu.com', '.', -2);

结果为:baidu.com

3.如果关键字不存在,则返回整个字符串

SELECT SUBSTRING_INDEX('www.baidu.com', 'hero', 1);

结果为:www.baidu.com

 

 

完结!


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
SQL 自然语言处理 关系型数据库
MySQL的match匹配多个字符串的语法
【8月更文挑战第27天】MySQL的match匹配多个字符串的语法
282 67
|
17天前
|
SQL 关系型数据库 MySQL
Mysql-常用函数及其用法总结
以上列举了MySQL中一些常用的函数及其用法。这些函数在日常的数据库操作中非常实用,能够简化数据查询和处理过程,提高开发效率。掌握这些函数的使用方法,可以更高效地处理和分析数据。
36 19
|
5月前
|
关系型数据库 MySQL 索引
mysql中EXISTS用法注意点
mysql中EXISTS用法注意点
|
2月前
|
数据采集 关系型数据库 MySQL
MySQL常用函数:IF、SUM等用法
本文介绍了MySQL中常用的IF、SUM等函数及其用法,通过具体示例展示了如何利用这些函数进行条件判断、数值计算以及复杂查询。同时,文章还提到了CASE WHEN语句和其他常用函数,如COUNT、AVG、MAX/MIN等,强调了它们在数据统计分析、数据清洗和报表生成中的重要性。
|
4月前
|
存储 SQL 关系型数据库
mysql用法
mysql用法
61 4
|
5月前
|
存储 自然语言处理 关系型数据库
MySQL的match用法说明
MySQL的match用法说明
197 4
|
5月前
|
SQL 关系型数据库 MySQL
MySQL的用法
MySQL的用法
76 1
|
6月前
|
SQL 自然语言处理 关系型数据库
MySQL的match匹配多个字符串的语法
【8月更文挑战第29天】MySQL的match匹配多个字符串的语法
214 2
|
6月前
|
存储 关系型数据库 MySQL
mysql中的left join、right join 、inner join的详细用法
【8月更文挑战第16天】在MySQL中,`INNER JOIN`、`LEFT JOIN`与`RIGHT JOIN`用于连接多表。`INNER JOIN`仅返回两表中匹配的行;`LEFT JOIN`保证左表所有行出现于结果中,右表无匹配时以NULL填充;`RIGHT JOIN`则相反,保证右表所有行出现于结果中。例如,查询学生及其成绩时,`INNER JOIN`仅显示有成绩的学生;`LEFT JOIN`显示所有学生及他们对应的成绩,无成绩者成绩列为空;`RIGHT JOIN`显示所有成绩及对应学生信息,无学生信息的成绩条目则为空。
210 1
|
5月前
|
SQL 关系型数据库 MySQL
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
273 0