T-Sql Извлечь номер заказа в строке
Я просто пытаюсь вернуть номер заказа из строки, такой как перечисленная ниже. Я попытался charindex с левой и правой и подстроки безрезультатно. Используя фактические данные, номер заказа может быть от 9 до 12 символов.
Declare @string varchar(max) = 'Your order number for this purchase is 012345678 and we appreciate your business'
Любая помощь очень ценится.
Заранее спасибо, М.Буттер
1 ответ
PATINDEX
может использоваться для поиска по регулярному выражению для поиска номера заказа
%[0-9]%
как только индекс найден, SUBSTRING можно использовать для получения номера заказа
declare @var varchar(max) = 'Your order number for this purchase is 012345678 and we appreciate your business'
declare @sub varchar(max)
select @sub=SUBSTRING(@var,patindex('%[0-9]%', @var), len(@var))
SELECT SUBSTRING(@sub, 0, charindex(' ', @sub))