MySQL之字段根據字符串截取和更新此字段!

例子:
用戶表中user_id爲主鍵, 表中有一個字段:username(name和id可以自行修改)。
執行前 :在這裏插入圖片描述
存儲的數據是[email protected][email protected]或者[email protected]格式數據,期望:
將eso.com替換爲ahu.cn , 更新到此字段,方法爲:


UPDATE sys_user AS u1
INNER JOIN (
	SELECT
		u3.USER_ID,
		SUBSTR(
			u3.USERNAME,
			1,
			(
				INSTR(u3.USERNAME, '@eso.com')
			)
		) AS usernames
	FROM
		sys_user u3
) AS u2 ON u1.USER_ID = u2.USER_ID
AND u2.usernames IS NOT NULL
SET u1.USERNAME = CONCAT(u2.usernames, 'ahu.cn')
WHERE
	u1.USERNAME IS NOT NULL
AND u1.USERNAME != ''
AND u2.usernames IS NOT NULL
AND u2.usernames != ''

**擴展:** 
1,INSTR(STR,SUBSTR) 在一個字符串(STR)中搜索指定的字符(SUBSTR),返回發現指定的字符的位置(INDEX); 從1開始索引
STR 被搜索的字符串 
SUBSTR 希望搜索的字符串

2、substr(str,pos,len);//str:字符串,pos:起始位置,len:截斷長度,
也是從1開始索引
SELECT SUBSTR('2018-08-17',6,7);

![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200304180405882.png)
有志者,事竟成
								written by 
								    dukang
								2020.03.04
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章