簡體   English   中英

從SQL中的字符串開頭刪除字符

[英]Remove characters from beginning of a string in SQL

我正在運行一個游戲社區,該社區過去曾經要求在成員用戶名中添加前綴。 例如“ RDxBuffalo”。 我們最近決定刪除前綴/標記,現在我希望將其從每個人的名字中刪除。 我假設最好的方法是通過SQL查詢,而我一直在尋找最好的方法來解決這個問題。

這是我正在尋找要執行的查詢:

  1. 在數據庫中的所有用戶名中,檢查名稱/字符串開頭是否有“ RDx”(可能大寫或不大寫)的所有用戶名。

  2. 從用戶名的開頭刪除“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM