我有一个包含两列的表 - id,email
我可以运行哪些查询来仅显示包含%40的单个电子邮件?
e.g。我的桌子是
id email
-------------
1 stevemartin140%40gmail.com
2 stevemartin141%40gmail.com
3 stevemartin140@gmail.com
4 stevemartin141@gmail.com
5 stevemartin148%40gmail.com
6 andymartin%40ymail.com
结果将是:
id email
-------------
5 stevemartin148%40gmail.com
6 andymartin%40ymail.com
我想找出&用@
替换这些电子邮件所以我的最终输出将是:
id email
-------------
1 stevemartin140%40gmail.com
2 stevemartin141%40gmail.com
3 stevemartin140@gmail.com
4 stevemartin141@gmail.com
5 stevemartin148@gmail.com
6 andymartin@ymail.com
提前致谢
答案 0 :(得分:3)
如果你想替换它们,那么:
UPDATE t SET email=REPLACE(email, '%40', '@')
-in MySQL。
答案 1 :(得分:0)
答案 2 :(得分:0)
也许不是必须表现的,而是找到重复......
SELECT * FROM table GROUP BY REPLACE(email, '%40', '@') HAVING COUNT(*) < 2 AND email LIKE '%\%40%';
符合MySQL标准