2017-02-15 5 views
-3

Как я могу извлечь крайние правые цифры из этих строк?TSQL Extract far right right

Назначение Региональный менеджер по продажам изменилось от 5 до 6
Назначение Региональный менеджер по продажам изменен с 8
Назначение Региональный менеджер по продажам изменилось от 6 до 15
Назначение Региональный менеджер по продажам изменено с 11 по 16

+2

у вас Пробовал что-нибудь вообще? Подсказка: строковые функции - ваш друг. Мы, однако, не будем писать код для вас, если вы не приложите никаких усилий. Мы любим помогать людям, которые проявляют инициативу, но мы не ваша частная армия обезьян кода, которые сделают вашу (домашнюю) работу для вас. – SchmitzIT

+3

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он не проявляет никаких усилий со стороны автора. – SchmitzIT

+1

@SchmitzIT: вопрос с низким качеством не обязательно отключен от темы, им просто нужно какое-то редактирование. –

ответ

1

One способ сделать это, используя patindex, reverse и right.

Создать и заполнить образец таблицы (Пожалуйста сохранить нас этот шаг в ваших будущих вопросов):

DECLARE @T AS TABLE 
(
    col1 varchar(100) 
) 

INSERT INTO @T VALUES 
('Appointment Regional Sales Manager changed from 5 to 6'), 
('Appointment Regional Sales Manager changed from to 8'), 
('Appointment Regional Sales Manager changed from 6 to 15'), 
('Appointment Regional Sales Manager changed from 11 to 16') 

запрос:

SELECT RIGHT(col1, PATINDEX('%[^0-9]%', REVERSE(col1))-1) As LastDigits 
FROM @T 

Результаты:

LastDigits 
6 
8 
15 
16