子串形成

时间:2016-07-19 21:09:32

标签: formatting substring sql-server-2014

ex)Recalc 20156593415896532
ex)2015658926358915的修订版 ex)重新计算到clm 20156496874153157815错误

以下是一些例子。我只需要从备注中提取发票号码。该数字长度为16或20个字符。

我尝试过选择子串(注意,7,16) 但这只适用于第一个音符,并会在第二和第三音符时产生错​​误的结果。 请帮忙。 感谢

1 个答案:

答案 0 :(得分:0)

嗯,你可以做这样的事情:

select t3.number
from t outer apply
     (select stuff(t.notes, 1, patindex(' [0-9]', t.notes) + 1, '') as notes1
     ) t2 outer apply
     (select left(t2.notes1, charindex(' ', t2.notex1)) as number
     ) t3;