MySQL截取字段中最后两位不想要的字符串 以及截取函数


#一个字段不想要后两位
#如果是字符串类型用char_length
update 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;

 

 

练习截取字符串函数(五个)

1replace 函数
语法:replace(object,search,replace)
含义:把object中出现search的全部替换为replace

select 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)--是两个时间相减


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM