SQL упорядочить по - PullRequest
       2

SQL упорядочить по

2 голосов
/ 11 апреля 2011

Мне нужно заказать стол с указанием даты, и я не могу это сделать !!: (

у меня есть поле (codigo), которое, если год даты (передаваемый параметром) меньше 2010, тогда он составляется так: «FAC-00123-10», тогда я долженупорядочить по этому "00123" ...

В противном случае, если код года больше, чем 2010, поле (Codigo) создается как этот "FT 11/123", а затем мне нужно заказать по этому "123 "

Как я могу это сделать?!

1 Ответ

3 голосов
/ 11 апреля 2011

Вы можете использовать случай, когда оператор, чтобы решить, что заказывать, это использует простую подстроку, но в действительности это, вероятно, не достаточно хорошо, и вам может понадобиться немного разобрать интересующий вас битнемного лучше ..

select * from table order by 
   case when DatePart(year,@date) < 2010 then substring(codigo,4,5)
        else substring(condigo,3,2) end
...