从VARCHAR中提取数字

JR0*_*00K 4 sql t-sql sql-server patindex sql-server-2012

我在表格中有一[Comment]列类型VARCHAR(255),我试图从中提取数字.数字总是12位数,但通常不在同一个地方.其中一些也会有一个以上的12位数字,这很好,但我只需要第一个.

我尝试过使用PATINDEX('%[0-9]%',[Comment]),但我无法弄清楚如何设置12位数的要求.

我正在使用的数据示例如下:

Combined 4 items for $73.05 with same claim no. 123456789012 as is exceeding financial limits
Consolidated remaining amount of claim numbers, 123456789013, 123456789014, 123456789015, 123456789016 due to financial limits
Run Code Online (Sandbox Code Playgroud)

Har*_* CO 6

你可以[0-9]连续使用12 个:

PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9??][0-9][0-9]%',[Comme??nt])
Run Code Online (Sandbox Code Playgroud)