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