我在表中有以下记录。
'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中的某种形式的正则表达式仅提取此部分?
答案 0 :(得分:0)
如果确认小数点前总是有3位数字,则可以使用正则表达式下面的值来获取所需的输出-
select SUBSTRING(fieldName, PATINDEX('%[0-9][0-9][0-9].[0-9]%', fieldName), LEN(fieldName))
from table_name
如果您的要求有所变化,请发表评论。
答案 1 :(得分:0)
请尝试这个。
select SUBSTRING(fieldName, PATINDEX('%[0-9]%', fieldName), LEN(fieldName))
from table_name
select SUBSTRING(fieldName, PATINDEX('%[0-9][0-9][0-9].[0-9]%', fieldName), LEN(fieldName))
from table_name