Сортировать по годам как nvarchar, а затем по числовым значениям - PullRequest
0 голосов
/ 05 августа 2020

У меня есть столбец nvarchar, в котором, по сути, хранятся следующие данные:

20-198
99-135
19-135
20-197
20-195
99-435

Первые два числа представляют год создания, а последние числа представляют идентификатор единицы, изготовленной в этом году. Всякий раз, когда я сортирую, я получаю первые 99 и последние 19. Я хотел бы сначала отсортировать по последнему году, а затем численно.

Я пробовал преобразовать в datetime и использовать подстроки, но я не могу создать действительный запрос и не совсем уверен, куда go отсюда.

Любая помощь приветствуется!

1 Ответ

1 голос
/ 05 августа 2020

Вы можете использовать условную логику c в order by:

order by (case when col <= '21' then 1 else 2 end),
         col desc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...