如何从字符串foo@mail.com中提取字符串'foo'?

Yve*_*ves 0 sql t-sql sql-server sql-server-2005

select left(emailaddress, len(emailaddress) - charindex('@', emailaddress))
Run Code Online (Sandbox Code Playgroud)

我得到的结果如下:

foo@ma
Run Code Online (Sandbox Code Playgroud)

请更正下面的选择声明.我需要使用电子邮件地址的音调来执行此操作并仅提取用户名.

Jer*_*yth 12

你无意中重新实现了"正确":)

试试这个:

select left(emailaddress, charindex('@', emailaddress) - 1)
Run Code Online (Sandbox Code Playgroud)

它寻找的位置@,并取符号的数量,但不包括(那是- 1)@符号.

小心没有的琴弦@; 你最终会得到一个空字符串.