SQL语句中,我想要截取电子邮箱地址@之前的字符,该用什么函数。谢谢

2025-03-02 04:20:51
推荐回答(3个)
回答1:

第一个是字符串定位的函数,SQLSERVER使用CHARINDEX('@', EMAIL),ORACLE使用INSTR(EMAIL,'@')。知道了这个符号的位置,那么截取之前的部分就可以得到了。当然,开头不能有除了邮箱之外的其他字符串了。

SQLSERVER可以使用:SELECT SUBSTRING(EMAIL,1, CHARINDEX('@', EMAIL) - 1) FROM 表名
ORACLE使用:SELECT SUBSTR(EMAIL,1, INSTR(EMAIL,'@') - 1) FROM 表名

回答2:

declare @email varchar(500)
set @email='dddddd@123'
select substring(@email,1,charindex('@',@email)-1)

回答3:

left配合charindex
看联机帮助的2个说明