isnumeric(ID) desc--数值型数据排在前,非数值型数据排在后。
case isnumeric(ID) when 1 then cast(a.ID as int) else len(a.ID) end --数值数据由小到大排序,非数值型数据按照长度排序
此时非数值型数据由长度来排序,不准确,加个a.id.就达到效果了。你可以试着取消一个个order by条件。从结果就可以看出了。
case isnumeric(ID) when 1 then cast(a.ID as int) else len(a.ID) end --数值数据由小到大排序,非数值型数据按照长度排序
此时非数值型数据由长度来排序,不准确,加个a.id.就达到效果了。你可以试着取消一个个order by条件。从结果就可以看出了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货