2016-07-13 28 views

回答

2

假設你要更新的每個電子郵件地址有一個Gmail域,您可以使用UPDATE聲明沒有WHERE條款:

UPDATE yourTable 
SET EMAIL = LEFT(EMAIL, CHARINDEX('@', EMAIL)-1) + '@' + 'gmail.com' 

這也可以寫成:

UPDATE yourTable 
SET EMAIL = LEFT(EMAIL, CHARINDEX('@', EMAIL)) + 'gmail.com' 
+0

感謝好友。它爲我工作。 – mmushtaq

2

SUBSTRING

UPDATE TableName SET Email = SUBSTRING(Email, 1, CHARINDEX('@', Email)) + 'gmail.com' 

執行與給定的採樣數據的另一種方法:

DECLARE @Employee TABLE (Id INT, Email VARCHAR(100)); 

INSERT INTO @Employee (Id, Email) VALUES 
(1, '[email protected]'), (2, '[email protected]'); 

UPDATE @Employee SET Email = SUBSTRING(Email, 1, CHARINDEX('@', Email)) + 'gmail.com' 

--SELECT * FROM @Employee 
+0

已刪除'@'符號前的所有字符。 – mmushtaq

+0

@ user55:我也在[fiddler](http://rextester.com/WQLVDT91426)中驗證了它的工作。 – Arulkumar

+0

在我的情況下,它產生了錯誤的結果。我想我在執行這個查詢時犯了一些錯誤。無論如何感謝你的關心哥們。 – mmushtaq