T-Sql提取字符串中的订单号

时间:2014-10-17 21:36:31

标签: sql substring charindex

我只是想尝试从下面列出的字符串中返回订单号。我尝试过使用左右和子串的charindex无济于事。使用实际数据,订单号可以是9到12个字符。

Declare @string varchar(max) = 'Your order number for this purchase is 012345678 and we appreciate your business'

非常感谢任何帮助。

提前致谢, M.Butter

1 个答案:

答案 0 :(得分:0)

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))