9

我正在尝试通过删除以@开头的所有内容来格式化表格中的电子邮件地址。另外我想用空格替换下划线。

例如: FirstName_LastName@gmail.com

我希望将上述电子邮件更改为: FirstName LastName

这是我的代码,但这会修剪 @ 之后的所有内容,这就是我想要的。但是我怎样才能用空白替换下划线。我希望使用更新功能在一个语句中完成所有操作。我怎样才能做到这一点?

SELECT 
     left (Email, CHARINDEX('@',Email)-1)
  FROM [Dashboard]

谢谢您的帮助

4

2 回答 2

18
SELECT REPLACE(LEFT(Email, CHARINDEX('@',Email)-1),'_',' ')
FROM [DSR].[dbo].[RCA_Dashboard]
于 2013-06-27T14:29:28.353 回答
0

如果您需要删除最后一个特定字符之后的所有字符,这会很有帮助:

Declare @String nvarchar(max) = 
  'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\log.ldf'


select reverse(substring(reverse (@String), CHARINDEX('\', reverse (@String))+1, len(reverse (@String))));
于 2016-11-23T14:45:46.337 回答