我需要按日期订购一张桌子,我不能这样做!! :(
我有一个字段(codigo),如果日期的年份(通过参数传递)小于2010年那么它的组成如下:“FAC-00123-10”,然后我需要通过这个“00123”来订购” ...
否则,如果年份代码大于2010年,则字段(Codigo)创建为“FT 11/123”,然后我需要通过此“123”订购
我该怎么做?!
答案 0 :(得分:3)
您可以使用case when语句来决定要排序的内容,这会使用一个简单的子字符串,但实际上这可能不够好,您可能需要更好地解析您感兴趣的位。
select * from table order by
case when DatePart(year,@date) < 2010 then substring(codigo,4,5)
else substring(condigo,3,2) end