Порядок в SQL

В моем 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

Спасибо.

1
задан gates 16 July 2010 в 19:16
поделиться

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]

Изменить: теперь будет работать с дефисом.

Примечание: не будет работать, если в нечисловой части заголовка есть числа или дефис ('-').

2
ответ дан 2 September 2019 в 23:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: