Этот метод может обрабатывать вложенные числа различной длины
Тестовые данные:
DECLARE @t table(ID varchar(50))
INSERT @t values
('1'),
('2abc'),
('a3'),
('test_SQL_01'),
('test_SQL_02_PQR_01'),
('test_SQL_03_055'),
('test_SQL_04_ABC_99')
Запрос:
SELECT
STUFF(LEFT(ID, patindex('%[0-9][^0-9]%', ID + 'x')), 1,
patindex('%[^0-9][0-9]%', ID), '')
FROM @t
Результат:
1
2
3
01
02
03
04