第一个是字符串定位的函数,SQLSERVER使用CHARINDEX('@', EMAIL),ORACLE使用INSTR(EMAIL,'@')。知道了这个符号的位置,那么截取之前的部分就可以得到了。当然,开头不能有除了邮箱之外的其他字符串了。
SQLSERVER可以使用:SELECT SUBSTRING(EMAIL,1, CHARINDEX('@', EMAIL) - 1) FROM 表名
ORACLE使用:SELECT SUBSTR(EMAIL,1, INSTR(EMAIL,'@') - 1) FROM 表名
declare @email varchar(500)
set @email='dddddd@123'
select substring(@email,1,charindex('@',@email)-1)
left配合charindex
看联机帮助的2个说明