[英]MySQL functions to remove characters from the beginning and end of a string
[英]Remove characters from beginning of a string in SQL
我正在運行一個游戲社區,該社區過去曾經要求在成員用戶名中添加前綴。 例如“ RDxBuffalo”。 我們最近決定刪除前綴/標記,現在我希望將其從每個人的名字中刪除。 我假設最好的方法是通過SQL查詢,而我一直在尋找最好的方法來解決這個問題。
這是我正在尋找要執行的查詢:
在數據庫中的所有用戶名中,檢查名稱/字符串開頭是否有“ RDx”(可能大寫或不大寫)的所有用戶名。
從用戶名的開頭刪除“ RDx”。
感謝您的任何幫助,並且對該查詢的解釋將是驚人的。
根據MySQL文檔 ,您要查找的函數是SUBSTR()
,而修改表的操作是UPDATE
。 您可以在WHERE
子句中使用SUBSTR()
函數來查找符合條件的行:
UPDATE your_members_table
SET member_name = SUBSTR(member_name, 4) --drops first 3 characters
WHERE SUBSTR(member_name, 1, 3) = "RDx"
祝好運!
編輯:添加不區分大小寫的UPPER()
或LOWER()
:
WHERE UPPER(SUBSTR(member_name, 1, 3)) = "RDX"
使用left()函數檢查where
子句中的前3個字符, where
使用lower ()函數將它們轉換為小寫,在set
子句中使用substring()函數從第四個字符返回字符串:
update yourtable set username=substring(username,4) where lower(left(username,3))='rdx'
將上面的語句轉換為選擇語句,以查看其工作原理。
您可以使用更新查詢來完成。
查詢的where部分如下
where lower(name) like 'rdx%'
您可以使用諸如mid()之類的子字符串函數來更新部分。
MID(column_name,start)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.