找个字符+数字 cast成int类型的最佳方法。
原来这样写直接过滤掉了带字符得,
SELECT 编号, 姓名, FROM xy
ORDER BY CAST(CASE WHEN isnumeric(编号) = 1 THEN 编号 ELSE 0 END AS int)可是程序到了客户那里每个都带字符....
求一个最佳方法,让那个字符也参与到排序里面。
举个例子:
编号
aa005
bb003
ff009
dd003
aa001
我想让他排列出
aa001
aa005
bb003
dd003
ff009
这样
------解决方案--------------------直接
SELECT 编号, 姓名, FROM xy order by 编号
------解决方案--------------------SELECT 编号, 姓名, FROM xy
ORDER BY 编号
------解决方案--------------------SELECT 编号, 姓名, FROM xy
Order by Left(编号,PATINDEX( '%[0-9]% ',编号)-1),
cast(Stuff(编号,1,PATINDEX( '%[0-9]% ',编号)-1, ' ') as int)