SQL从长字符串中提取整数值

时间:2015-01-12 15:28:46

标签: sql regex sybase-iq

我有一个包含varchar(300)(它包含一些网址)列的表格,我需要将此列的一些值提取到新的integer列。

来源栏目:

https://my_domain.com/?item1=value1&item2=value2&searching_field=int_value&item4=value4

我需要找到字符串 searching_field=int_value 并将int_value插入表格。

UPD 即可。我发现了一个很好的工具REGEXP_SUBSTRING,我试图使用如下:

SELECT REGEXP_SUBSTR(col_name, 'searching_field=[0-9]+', charindex('searching_field=', col)) as col from my_table

1 个答案:

答案 0 :(得分:1)

DECLARE @occur_start INT;
DECLARE @occur_end INT;

CREATE TABLE tempdb..#Temp
(col varchar(300), IntVal int)

INSERT INTO tempdb..#Temp
select col, SUBSTRING(col, CHARINDEX('searching_field=', col), CHARINDEX('&item4=value4', col) - CHARINDEX('searching_field=', col)-1) IntValue
FROM YourTable

INSERT INTO YourOtherTable
SELECT IntValue FROM #Temp