0

伙计们,

我在 MSSQl 表中有一个列,如下所示:

| email |
-----------
suzuki@amc.com
yamaha@abc.co
harley@cbc.com
....

我想编写一个查询,用一个工作“汽车”替换所有字段中“@”之前的所有内容。所以该列应该看起来:

| email |
-----------
cars@amc.com
cars@abc.co
cars@cbc.com
....

关于如何形成此查询的任何建议?

4

3 回答 3

2

此处已讨论了许多解决此问题的示例:

如何在特定字符之前替换字符串的子字符串?

例如:

UPDATE YourTable set email = 'cars' + SUBSTRING(email, CHARINDEX('@',email), LEN(email))
于 2013-09-07T20:21:20.307 回答
0

询问:

SQLFIDDLE示例

UPDATE Table1 
SET email = 'cars' + 
        SUBSTRING(email, CHARINDEX('@',email), LEN(email)-CHARINDEX('@',email)+1)
于 2013-09-07T21:20:50.550 回答
0

你试试这个,首先使用这个从邮件ID中只选择之前的@部分substring_index(email,'@',1)

然后用汽车代替

replace(email,substring_index(email,'@',1),'cars')

select replace(email,substring_index(email,'@',1),'cars') from table;
于 2019-06-03T05:27:51.513 回答