如何提取字符串的一部分并将其转换为整数?

问题描述:

例如 - 如果我有一个字符串,如下所述: -如何提取字符串的一部分并将其转换为整数?

摘要:开始量(月)= 2结束量(月)= 0减量(年)= 13效率增益= 100日志:09/13/2017

我只想在一列中显示体积减少值。我应该写什么查询?

+0

你能解释更确切地说,你要去什么办法? 你正在使用哪种RDBMS? –

+0

我正在尝试在OBIEE工具中使用它。我想写一个SQL查询。 –

+0

所以标记oracle会非常好;-) –

试试这个

SELECT SUBSTR(COL,S1,INSTR(COL,' ',S1)-S1) X 
FROM (SELECT COL, INSTR(COL, 'Volume Reduction (year) = ',1)+LEN('Volume Reduction (year) = ') AS S1 
     FROM (SELECT 'Summary: Start Volume (monthly) = 2 End Volume (monthly) = 0 Volume Reduction (year) = 13 Efficiency Gains = 100 Log: 09/13/2017' AS COL 
      FROM DUAL) A 
     ) B; 

输出:

X 
13 

试试这个:

DECLARE @DATA VARCHAR(256); 
DECLARE @DATA1 VARCHAR(256); 

SET @DATA = 'Summary: Start Volume (monthly) = 2 End Volume (monthly) = 0 Volume Reduction (year) = 13 Efficiency Gains = 100 Log: 09/13/2017' 

SELECT @DATA1 = RIGHT(@DATA,LEN(@DATA)-CHARINDEX(' 13',@DATA)) 

SELECT SUBSTRING(@DATA1, PATINDEX('%[1-9]%', @DATA1), LEN(120)) AS DATA