select * 
from tb 
order by substring(t1 , charindex('@',t1) + 1, charindex('.',t1) - charindex('@',t1) -1)

解决方案 »

  1.   

    declare @t table(t1 varchar(20))
    insert @t select '[email protected]'
    union all select '[email protected]'
    union all select '[email protected]'
    union all select '[email protected]'
    union all select '[email protected]'select t1 
    from @t 
    order by substring(t1 , charindex('@',t1) + 1, charindex('.',t1) - charindex('@',t1) -1)
      

  2.   

    t1                   
    -------------------- 
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected](所影响的行数为 5 行)
      

  3.   

    declare @t table(t1 varchar(20))
    insert @t select '[email protected]'
    union all select '[email protected]'
    union all select '[email protected]'
    union all select '[email protected]'
    union all select '[email protected]'select t1 
    from @t 
    order by reverse(t1)
      

  4.   

    这个简洁一点,呵呵select t1 from table1
    order by right(t1,len(t1)-charindex('@',t1)+1)