日期:2014-05-18  浏览次数:20528 次

求解SQL语句某字段排序问题
我有一个表 其中一个字段是字符串类型 其值如:12,1354,1或1,12,1234或14435,35234,2或123,4543,43
现在我想写三条条件排序SQL语句,
第一条 按照第一个逗号前的数字进行排序
第二条 按照两个逗号之间的数字进行排序
第三条 按照最后一个逗号之后的数字进行排序

请问这三条排序语句怎么写?谢谢了
 

------解决方案--------------------
SQL code

declare @t table
(
    col varchar(100)
)

insert @t select '12,1354,1'
union all
select '1,12,1234'
union all
select '14435,35234,2'

select
    *
from @t
order by convert(int,parsename(replace(col,',','.'),3))


select
    *
from @t
order by convert(int,parsename(replace(col,',','.'),2))


select
    *
from @t
order by convert(int,parsename(replace(col,',','.'),1))