我只是想尝试从下面列出的字符串中返回订单号。我尝试过使用左右和子串的charindex无济于事。使用实际数据,订单号可以是9到12个字符。
Declare @string varchar(max) = 'Your order number for this purchase is 012345678 and we appreciate your business'
非常感谢任何帮助。
提前致谢, M.Butter
答案 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))