У меня есть столбец с типом (varchar), который содержит дефис.Числа после дефиса представляют год.Сначала мне нужно отсортировать по году.
11-18 10-18 11-16 12-17 10-19
должны быть отсортированыкак это:
11-16 12-17 10-18 11-18 10-19
Попробуйте это
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);
Возможно что-то вроде этого
Пример
Select * From YourTable Order By right(SomeCol,2),SomeCol
Возвращает
SomeCol 11-16 12-17 10-18 11-18 10-19