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都什么意思??
求教啊!!学这个杂就真难类啊!
我新来类啊!!让大侠门见笑了!!
--是的.
2,left(NAME,PATINDEX('%[0-9]%',NAME)-1)a 后面的a ,b都什么意思??
--a 用作显示表达式的字段名.