我有一個電子郵件列表。我想更改所有這些文件來測試我的測試系統的電子郵件,例如[email protected]到[email protected]。 我不想使用實際的電子郵件,因爲它會產生問題。是否可以在單個查詢或存儲過程中一次更改所有電子郵件。在@之後替換所有的電子郵件地址
回答
我試過這個,它工作完美。
UPDATE myTable SET UserEMail =
(SELECT SUBSTRING(UserEMail, 0, PATINDEX('%@%',UserEMail)) + '@test.com'
from myTable U WHERE U.UserID = myTable.UserID)
使用STUFF
或LEFT
字符串函數。試試這個
DECLARE @emails VARCHAR(200) = '[email protected]'
SELECT Stuff(@emails, Charindex('@', @emails), Len(@emails), '') + '@test.com'
SELECT LEFT(@emails, Charindex('@', @emails)-1) + '@test.com'
在表結構添加一列,其定義爲:CONCAT(SUBSTRING([old_column],0,CHARINDEX('@',[old_column])),'@test.com') AS [new_column]
參考M.Ali的答案在這裏基於舊列添加一個新列: Alter a Table by adding a new column whose value depends on another column
使用+ and ISNULL
而不是CONCAT
如果您使用的是舊版本的sql-server版本SQL Server 2012
爲什麼要添加一個新列?如果現有的可能的話。 – Abdul
@Abdul是的,你也可以做到這一點。我認爲你還需要早期的電子郵件,這可能是保留早期電子郵件的好主意。此外,在這種情況下,出於性能原因,使用CHARINDEX而不是PATINDEX。 –
嘗試下面的代碼片段 -
create table #email (emailid varchar(20));
insert into #email
select '[email protected]' union
select '[email protected]' union
select '[email protected]'
select * from #email;
select replace(emailid,left(substring(emailid,charindex('@',emailid)+1,len(emailid)),charindex('.',substring(emailid,charindex('@',emailid)+1,len(emailid)))-1),'test' from #email;
我的電子郵件ID是deepanshu'.'[email protected]'.'com。另外,爲什麼我們使用PATINNDEX來查找角色? –
@DeepanshuKalra - 感謝您對這次遺漏的確認,現在改變了邏輯。 – Abhishek
試試這個
UPDATE users SET email=REPLACE(email, SUBSTRING(email,INSTR(email,'@')+1),
'example.com')
- 1. 用「@ example.com」替換所有的電子郵件地址實例
- 2. 如何與普通的電子郵件地址替換所有電子郵件地址中的一組文件
- 3. 從GMAIL處與我交換電子郵件的所有電子郵件地址
- 4. 選擇所有電子郵件地址,
- 5. git有效替換電子郵件地址
- 6. 在sql server中替換電子郵件地址的域部分
- 7. 在電子郵件地址
- 8. 如何從長字符串中識別電子郵件地址並將電子郵件地址替換爲我公司的電子郵件地址?
- 9. 替換sql中的電子郵件地址的域部分
- 10. 替換每個提交消息中的電子郵件地址
- 11. 有效的電子郵件地址
- 12. Powershell替換電子郵件後綴
- 13. 使用preg_match和preg_replace檢索和替換電子郵件地址
- 14. 正則表達式來替換電子郵件地址域?
- 15. 正則表達式來替換電子郵件地址
- 16. 用短信替換驗證電子郵件地址
- 17. 正則表達式:替換電子郵件地址,扭曲
- 18. 刮電子郵件地址
- 19. noreply電子郵件地址。
- 20. Rtrtr.com電子郵件地址
- 21. 從電子郵件地址
- 22. Django電子郵件地址
- 23. EWS:從X500轉換的電子郵件地址以SMTP地址
- 24. Mailchimp塊在導入電子郵件地址後發送郵件
- 25. 只有電子郵件地址
- 26. PHP - 的preg_replace所有maito:標籤的電子郵件地址
- 27. 從給定的電子郵件地址獲取電子郵件地址DirectoryEntry
- 28. 電子郵件地址中編碼的電子郵件地址。可能嗎?
- 29. 替換現有的Mercurial提交數據中的電子郵件地址
- 30. 確定是否電子郵件地址的郵件列表地址或個人電子郵件地址
側面說明:從不發送郵件到'@ test.com':這是一個真正的域名和郵件會被他們的郵件服務器接收。 –
附註2:'example.com' *是一個專門用於這些目的的域。 – Piskvor