SQL выберите последние цифры справа - PullRequest
2 голосов
/ 09 октября 2019

Я пытаюсь выбрать только цифры из строки, начиная справа. Итак, из следующих примеров:

1ECCA15
ECCB9

Я бы хотел выбрать только цифры справа. Таким образом, результат будет:

15
9

Я пробовал это, но это не выбирает цифры справа.

substring(col, PatIndex('%[0-9]%', col), len(col))

Ответы [ 3 ]

1 голос
/ 09 октября 2019

Вот, пожалуйста, используйте REVERSE

CREATE TABLE #temp(col varchar(20))
INSERT INTO #temp values('1ECCA15'),('ECCB9')

SELECT REVERSE(SUBSTRING(REVERSE(Col), 0, PATINDEX('%[^0-9]%',REVERSE(col))))
FROM #temp
1 голос
/ 09 октября 2019

Как насчет этого?

select right(col, patindex('%[^0-9]%',reverse(col))-1) from your_table;
1 голос
/ 09 октября 2019

Попробуйте это:

DECLARE @t TABLE(Col VARCHAR(255));

INSERT @t SELECT '1ECCA15';
INSERT @t SELECT 'ECCB9';


SELECT REVERSE(LEFT(REVERSE(col), PATINDEX('%[a-z]%', REVERSE(col)) - 1)) FROM @t;
...