-
MySQL 字符串截取函数:left(), right(), substring(),这是我比较常用的几个方法。
1. 字符串截取:left(str, length)
select left('这是要截取的内容', 3);
2. 字符串截取:right(str, length)
select right('这是要截取的内容', 3);
3. 字符串截取:substring(str, pos); substring(str, pos, len)
3.1 从字符串的第 4 个字符位置开始取,直到结束。
select substring('这是要截取的内容', 4);
3.2 从字符串的第 4 个字符位置开始取,只取 2 个字符。
select substring('这是要截取的内容', 4, 2);
3.3 从字符串的第 4 个字符位置(倒数)开始取,直到结束。
select substring('这是要截取的内容', -4);
3.4 从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
select substring('这是要截取的内容', -4, 2);
更多相关内容
-
Mysql sql语句字段截取前几位,后几位等
千次阅读2022-07-06 16:00:44Mysql sql语句字段截取前几位,后几位等
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。
- 字符串截取:left(str, length) hibernate 框架不支持 mysql客户端擦查询是可以的
mysql> select left('sqlstudy.com', 3); +-------------------------+ | left('sqlstudy.com', 3) | +-------------------------+ | 输出:sql | +-------------------------+
在这里插入代码片
2. 字符串截取:right(str, length) hibernate 框架不支持 mysql客户端擦查询是可以的mysql> select right('sqlstudy.com', 3); +--------------------------+ | right('sqlstudy.com', 3) | +--------------------------+ | 输出:com | +--------------------------+
- 字符串截取:substring(str, pos); substring(str, pos, len)
3.1 从字符串的第 4 个字符位置开始取,直到结束。
mysql> select substring('sqlstudy.com', 4); +------------------------------+ | substring('sqlstudy.com', 4) | +------------------------------+ | 输出:study.com | +------------------------------+
3.2 从字符串的第 4 个字符位置开始取,只取 2 个字符。
mysql> select substring('sqlstudy.com', 4, 2); +---------------------------------+ | substring('sqlstudy.com', 4, 2) | +---------------------------------+ | 输出:st | +---------------------------------+
3.3 从字符串的第 4 个字符位置(倒数)开始取,直到结束。
mysql> select substring('sqlstudy.com', -4); +-------------------------------+ | substring('sqlstudy.com', -4) | +-------------------------------+ | .输出:com | +-------------------------------+
3.4 从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
mysql> select substring('sqlstudy.com', -4, 2); +----------------------------------+ | substring('sqlstudy.com', -4, 2) | +----------------------------------+ | 输出:.c | +----------------------------------+
我们注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值。
4. 字符串截取:substring_index(str,delim,count)
4.1 截取第二个 ‘.’ 之前的所有字符。mysql> select substring_index('www.sqlstudy.com.cn', '.', 2); +------------------------------------------------+ | substring_index('www.sqlstudy.com.cn', '.', 2) | +------------------------------------------------+ | 输出:www.sqlstudy | +------------------------------------------------+
4.2 截取第二个 ‘.’ (倒数)之后的所有字符。
mysql> select substring_index('www.sqlstudy.com.cn', '.', -2); +-------------------------------------------------+ | substring_index('www.sqlstudy.com.cn', '.', -2) | +-------------------------------------------------+ | 输出:com.cn | +-------------------------------------------------+
4.3 如果在字符串中找不到 delim 参数指定的值,就返回整个字符串
mysql> select substring_index('www.sqlstudy.com.cn', '.coc', 1); +---------------------------------------------------+ | substring_index('www.sqlstudy.com.cn', '.coc', 1) | +---------------------------------------------------+ | 输出:www.sqlstudy.com.cn | +---------------------------------------------------+
4.4 截取一个表某个字段数据的中间值 如该字段数据为 1,2,3
mysql> select substring_index(substring_index(该字段, ',', 2) , ',', -1) from 表名; +--------------------------------------------------------------+ | substring_index(substring_index(该字段, ',', 2); , ',', -1)| +--------------------------------------------------------------+ | 输出:2 | +--------------------------------------------------------------+
收起
-
MySQL截取字段中最后两位不想要的字符串 以及截取函数
千次阅读2020-12-19 00:31:54#一个字段不想要后两位
#如果是字符串类型用char_lengthupdate tablename set field1 = left(field1,length(field1)-2);
去掉后面的街道两个字
电话等身份证敏感信息脱敏处理
--脱敏姓名
UPDATE wb_person_message SET `name`=(if(LENGTH(name)>6,CONCAT(LEFT(name,1), '**' ),CONCAT(LEFT(name,1), '*')));--脱敏身份证号
UPDATE wb_person_message SET idNumber=CONCAT(LEFT(idNumber,4), '************' ,RIGHT(idNumber,2));--脱敏学历
update wb_person_message set education = '博士',university = '清华大学',specialities='计算机科学与技术';--脱敏手机号
UPDATE wb_person_message set phone = CONCAT(LEFT(phone,3), '*****' ,RIGHT(phone,3));--查询结果
SELECT name,idNumber,phone,education,university,specialities from wb_person_message;
练习截取字符串函数(五个)
1、replace函数
语法:replace(object,search,replace)
含义:把object中出现search的全部替换为replaceselect replace('张 三',' ','');+---------------------------+
| replace('张 三',' ','') |
+---------------------------+
| 张三 |
+---------------------------+
--把表table中的name字段中的空格去掉
update table set name=replace(name,' ','')2、trim 函数
语法:trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
含义:去掉字符串前面或后面指定的字符串--1、去掉字符串前后的空格
SELECT TRIM('zhangsan');+---------------------------+
| TRIM('zhangsan') |
+---------------------------+
| zhangsan |
+---------------------------+--2、去掉左边指定的字符串
SELECT TRIM(LEADING 'x' FROM 'xxxzhangsanxxx');+------------------------------------------------+
| TRIM(LEADING 'x' FROM 'xxxzhangsanxxx') |
+------------------------------------------------+
| zhangsanxxx |
+------------------------------------------------+--3、去掉右边指定的字符串
SELECT TRIM(TRAILING 'x' FROM 'xxxzhangsanxxx');+------------------------------------------------+
| TRIM(TRAILING 'x' FROM 'xxxzhangsanxxx') |
+------------------------------------------------+
| xxxzhangsan |
+------------------------------------------------+--4、去掉前后指定的字符串
SELECT TRIM(BOTH 'x' FROM 'xxxzhangsanxxx');+------------------------------------------------+
| TRIM(BOTH 'x' FROM 'xxxzhangsanxxx') |
+------------------------------------------------+
| zhangsan |
+------------------------------------------------+
mysql索引从1开始
一、mysql截取字符串函数
1、left(str,index) 从左边第index开始截取
(从左面开始截取几个要几个)
2、right(str,index)从右边第index开始截取
(从右面开始截取几个要几个)
3、substring(str,index)当index>0从左边开始截取直到结束 当index<0从右边开始截取直到结束 当index=0返回空
(根据index的正负)
4、substring(str,index,len) 截取str,从index开始,截取len长度
(从想要的地方截取,多少个长度)
5、substring_index(str,delim,count),str是要截取的字符串,delim是截取的字段 count是从哪里开始截取(为0则是左边第0个开始,1位左边开始第一个选取左边的,-1从右边第一个开始选取右边的
(根据特殊符号截取字符串)
6、subdate(date,day)截取时间,时间减去后面的day
(减去想要的天数)
7、subtime(expr1,expr2) 时分秒expr1-expr2
(两个时间相减)
二、mysql截取字符串的一些例子
1、left(str,index) index>=0 从左边开始截取
2、right(str,index) index>=0 从右边开始截取
3、substring(str,index) =SUBSTRING(str FROM pos) 包括index这个位置的字符
4、substring(str,index,len) 截取str,从index开始,截取len长度
5、substring_index(str,delim,count),str是要截取的字符串,delim是截取的字段 count是从哪里开始截取(为0则是左边第0个开始,1位左边开始第一个选取左边的,-1从右边第一个开始选取右边的
为1,从左边开始数第一个截取,选取左边的值
为-1,从右边开始数第一个截取,选取右边的值
特殊情况,字符串中没有指定的字符,则返回原字符串(index=0时候例外)
6、subdate(date,day)截取时间,时间减去后面的day
7、subtime(expr1,expr2)--是两个时间相减
收起
-
MySQL sql语句字段截取前几位,后几位 left(), right(), substring()
万次阅读2021-11-15 15:17:17MySQL 字符串截取函数:left(), right(), substring()
1. 字符串截取:left(str, length)
select left('这是要截取的内容', 3); ## "这是要"
2. 字符串截取:right(str, length)
select right('这是要截取的内容', 3); ## "的内容"
3. 字符串截取:substring(str, pos); substring(str, pos, len)
3.1 从字符串的第 4 个字符位置开始取,直到结束。
select substring('这是要截取的内容', 4); ## "截取的内容"
3.2 从字符串的第 4 个字符位置开始取,只取 2 个字符。
select substring('这是要截取的内容', 4, 2); ## "截取"
3.3 从字符串的第 4 个字符位置(倒数)开始取,直到结束。
select substring('这是要截取的内容', -4); ## "取得内容"
3.4 从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
-
select substring('这是要截取的内容', -4, 2); ## "取的"
- 转至 https://www.csdn.net/tags/MtzaAg1sMDg5OTEtYmxvZwO0O0OO0O0O.html
MySQL 字符串截取函数
最新推荐文章于 2024-04-26 15:21:00 发布