#一个字段不想要后两位 #如果是字符串类型用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;
练习截取字符串函数(五个)
1、replace 函数 语法: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)--是两个时间相减