例子:
用戶表中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