В моем SQL-операторе, должен проанализировать поле заголовка, таким образом, я могу заказать целыми числами. В основном просто извлеките целые числа в новое поле и порядок на то поле.
данные в поле заголовка похожи на следующий (НЕСПРАВЕДЛИВОСТЬ):
TT TEST 750-1
TT TEST 80-1
TT TEST 1 UU 25-1
TT TEST 1 UU 420-1
TT TEST 1 UU 55-46
TT TEST 1 UU 600-8-10
TT TEST 1 UU 608-20
TT TEST 1 UU 750-1
после порядка (КОРРЕКТНЫМ)
TT TEST 80-1
TT TEST 750-1
TT TEST 1 UU 25-1
TT TEST 1 UU 55-46
TT TEST 1 UU 420-1
TT TEST 1 UU 600-8-10
TT TEST 1 UU 608-20
TT TEST 1 UU 750-1
Спасибо.
Вы можете использовать функцию PATINDEX:
SELECT
CAST(SubString(REPLACE(Title,'-',''),
PATINDEX('%[0-9]%',REPLACE(Title,'-','')),
Len(REPLACE(Title,'-','')))
AS INT)
AS [Title Number],*
FROM [Your table-name here]
ORDER BY [Title Number]
Изменить: теперь будет работать с дефисом.
Примечание: не будет работать, если в нечисловой части заголовка есть числа или дефис ('-').