日期:2014-05-18 浏览次数:20495 次
select * from 采购单 order by case when isnumeric(尺寸及要求)=1 then convert(numeric(18,5),尺寸及要求) else 尺寸及要求 end
select * from 采购单 order by case when isnumeric(尺寸及要求)=1 then convert(numeric(18,5),尺寸及要求) end, case when isnumeric(尺寸及要求)=0 then 尺寸及要求 end
select * from 采购单 order by case when isnumeric(尺寸及要求)=1 then CAST(convert(numeric(18,5),尺寸及要求) AS 20) else 尺寸及要求 end
------解决方案--------------------
因为 case when A else B end
A与B的类型必须一致.
------解决方案--------------------
order by case when isnumeric(尺寸及要求)=1 then convert(numeric(18,5),尺寸及要求) else convert(sql_variant,尺寸及要求) end