![](/img/trans.png)
[英]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.