我如何只从下表中获取数值。每次长度可能会有所不同

时间:2019-03-05 05:20:32

标签: sql sql-server

我在表中有以下记录。

'JACKSONVILLE, FL'               
'CONT NET AVG-02/01 194.91'
'CONT NET AVG- 02/01  594.98'
'CONT NET AVG- 03/01 694.05'

长度可能有所不同,但我只需要'194.91','594.98','694.05'。有什么方法可以使用SQL中的某种形式的正则表达式仅提取此部分?

2 个答案:

答案 0 :(得分:0)

如果确认小数点前总是有3位数字,则可以使用正则表达式下面的值来获取所需的输出-

select SUBSTRING(fieldName, PATINDEX('%[0-9][0-9][0-9].[0-9]%', fieldName), LEN(fieldName))
from table_name

如果您的要求有所变化,请发表评论。

答案 1 :(得分:0)

请尝试这个。

  1. 第一种方式:
select SUBSTRING(fieldName, PATINDEX('%[0-9]%', fieldName), LEN(fieldName))
from table_name
  1. 第二种方式:
select SUBSTRING(fieldName, PATINDEX('%[0-9][0-9][0-9].[0-9]%', fieldName), LEN(fieldName))
from table_name