民间,
我在MSSQl表中有一个列如下:
| email |
-----------
suzuki@amc.com
yamaha@abc.co
harley@cbc.com
....
我想编写一个查询,用一个工作“cars”替换所有字段中'@'之前的所有内容。所以列应该看起来:
| email |
-----------
cars@amc.com
cars@abc.co
cars@cbc.com
....
关于如何形成此查询的任何建议?
答案 0 :(得分:2)
这里已经讨论了许多解决这个问题的例子:
How do I replace a substring of a string before a specific character?
例如:
UPDATE YourTable set email = 'cars' + SUBSTRING(email, CHARINDEX('@',email), LEN(email))
答案 1 :(得分:0)
查询:
<强> SQLFIDDLEExample 强>
UPDATE Table1
SET email = 'cars' +
SUBSTRING(email, CHARINDEX('@',email), LEN(email)-CHARINDEX('@',email)+1)
答案 2 :(得分:0)
您可以试试看,
首先从邮件ID中仅选择before @部分
使用此substring_index(email,'@',1)
然后替换为汽车
replace(email,substring_index(email,'@',1),'cars')
select replace(email,substring_index(email,'@',1),'cars') from table;