SQL "упорядочить" 2 столбца nvarchar - PullRequest
0 голосов
/ 14 мая 2018

У меня есть 2 столбца nvarchar, по которым мне нужно упорядочить свой запрос (пример столбца 1: TW001_1, пример столбца 2: тестовая документация_2)

Как упорядочить 2 столбца NVARCHAR таким же образом, как если бы я использовал целое число (порядок по столбцу1, столбцу2 по возрастанию)?

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете разбить текст на текстовую часть и числовую часть, а затем применить желаемую сортировку.Например:

SELECT column1, LEFT(column1, 2) as textSort, CAST(SUBSTRING(column1, 3, 8) as int) as numberSort1, CAST(RIGHT(column1, 1) as int) as numberSort2
FROM table1 
ORDER BY textSort, numberSort1, numberSort2;

Это основано на предположении, и столбец1 имеет следующий формат AA99999999_9 (то есть 2 буквы, затем 8 цифр, затем подчеркивание и одна цифра).

...