我有以下MySQL查询,可以拉回400条记录:
SELECT email FROM user WHERE email LIKE 'GMSD%@law.com'
返回:
GMSDK001@law.com到GMSDK400@law.com
我想要做的是在一个简单的UPDATE
中删除所有400个邮箱地址中的K,所以返回的是GMSD001@law.com到GMSD400@law.com.
我如何才能从LIKE
查询中执行此操作?以某种方式使用RegEx?
我有以下MySQL查询,可以拉回400条记录:
SELECT email FROM user WHERE email LIKE 'GMSD%@law.com'
返回:
GMSDK001@law.com到GMSDK400@law.com
我想要做的是在一个简单的UPDATE
中删除所有400个邮箱地址中的K,所以返回的是GMSD001@law.com到GMSD400@law.com.
我如何才能从LIKE
查询中执行此操作?以某种方式使用RegEx?
你最初的疑问似乎...关闭:
SELECT email FROM users WHERE user LKE ...
这难道不应该是:
SELECT email FROM users WHERE email LIKE ...
此外,LIKE 'GMSD%@law.com'
可能应该是LIKE 'GMSDK%@law.com'
,以捕获实际包含K
的值.
我希望使用一些简单的方法,比如使用MySQL的REPLACE()
函数来处理这个问题:
UPDATE
users
SET
email = REPLACE(email, 'GMSDK', 'GMSD')
WHERE
email LIKE 'GMSDK%@law.com'
编辑:根据我的经验,表名是plural
,所以是users
而不是user
.如果您确实使用的是user
,请根据需要进行调整.