Сортировать столбец по значению, которое содержит дефис и применить сортировку после дефиса - PullRequest
1 голос
/ 20 мая 2019

У меня есть столбец с типом (varchar), который содержит дефис.Числа после дефиса представляют год.Сначала мне нужно отсортировать по году.

11-18
10-18
11-16
12-17
10-19

должны быть отсортированыкак это:

11-16
12-17
10-18
11-18
10-19

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Попробуйте это

DECLARE @t AS TABLE(CODE VARCHAR(10));
INSERT INTO @T
       SELECT '11-18'
       UNION ALL
       SELECT '10-18'
       UNION ALL
       SELECT '11-16'
       UNION ALL
       SELECT '12-17'
       UNION ALL
       SELECT '10-19';
SELECT *
FROM @t
ORDER BY SUBSTRING(CODE, 4, 2), 
         SUBSTRING(CODE, 1, 2);
1 голос
/ 20 мая 2019

Возможно что-то вроде этого

Пример

Select * 
 From  YourTable
 Order By right(SomeCol,2),SomeCol

Возвращает

SomeCol
11-16
12-17
10-18
11-18
10-19
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...