SELECT name FROM 
(
    select *,left(NAME,PATINDEX('%[0-9]%',NAME)-1)a,STUFF(NAME,1,PATINDEX('%[0-9]%',NAME)-1,'')b from @a  
)bb ORDER BY a,CAST(LEFT(b+'-',PATINDEX('%[^0-9]%',b+'-')-1) AS int)这是看刚才一大侠的回帖!看了半天没看明白!求详结!!
1,DECLARE @a TABLE(NAME VARCHAR(100))这样写吗?? 
2,left(NAME,PATINDEX('%[0-9]%',NAME)-1)a 后面的a ,b都什么意思?? 
求教啊!!学这个杂就真难类啊! 
我新来类啊!!让大侠门见笑了!!