用于替换字符串的SQL更新语句,部分类似于电子邮件地址的@文本之后

时间:2014-05-20 18:49:09

标签: sql-server tsql sql-server-2008-express

我想要一个查询来更新名为users的表,其中没有正确输入电子邮件。

像这样:

praneeth@gmail
ram@gmail.co
krishna@gma
farooq@gmail.com

我需要一个查询,以确保所有以@gmail.com或{{1}结尾的文字@gma后的所有文字都设为@gmail.co }或@gmail

请帮助我!

BTW我正在使用SQL Server 2008 Express版。

2 个答案:

答案 0 :(得分:2)

UPDATE YourTable
SET Email = LEFT(Email,CHARINDEX('@',Email))+'gmail.com'
WHERE Email LIKE '%@gma'
OR Email LIKE '%@gmail.co'
OR Email LIKE '%@gmail'
OR Email LIKE '%gmai'

Here is一个带有演示的方形小说。

以下是结果:

╔════════════════════╗
║       EMAIL        ║
╠════════════════════╣
║ praneeth@gmail.com ║
║ ram@gmail.com      ║
║ krishna@gmail.com  ║
║ farooq@gmail.com   ║
╚════════════════════╝

答案 1 :(得分:0)

感谢您的回复。 我在这里得到了答案。

UPDATE TBLEmails 
SET  PersonEMail = substring(PersonEMail, 
                             1, 
                             CHARINDEX ('@', PersonEMail, 1)
                   ) + 'gmail.com' 
WHERE PersonEMail LIKE '%@gmai%'

这就像一个魅力