请教SQL中排序的一个小问题
我有一列字符型数据 编号: 11-1,11-3,111-2,111-5,12-1,14-12,14-123,10-1,10-12我要依据这列数据进行排序,要求先按'-'前的数字升序排,再按'-'后的数字排.
select *from table1
order by left(编号,charindex('-',编号)-1),stuff(编号,1,charindex('-',编号),'')
请问这样排序为什么不行?
为什么必须要把 left(编号,charindex('-',编号)-1),stuff(编号,1,charindex('-',编号),'') 用convert函数转化为int型呢?