需要从定界字符串中提取特定的属性值

时间:2018-08-14 06:03:20

标签: sql oracle

我需要从列中提取特定值。 我表的输出是:

select * from table where id='123456'

此表大约有30列,其中我需要检查特定列中的单词“ column 1”。列1中的数据是:

Test1=Hi;Test2=Hello;Test3=Good;Test4=Morning`

问题:我需要一个查询,该查询仅从“ Test2”列中提取特定单词,即输出应为Test2的值,即Hello(我需要Hello只应将其打印为输出)

3 个答案:

答案 0 :(得分:1)

我必须得到test2是一个值,所以我更改了查询的使用方式,例如

select * from table where id='123456' and col1 like 'Test2=Hello%'

答案 1 :(得分:0)

尝试一下:这将仅搜索字符串...对于我认为需要区分大小写的特定列。

var array = ['http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.cn/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.cn/'],
    count = array.reduce((c, s) => (c[s] = (c[s] || 0) + 1, c), Object.create(null));
    
console.log(count);

答案 2 :(得分:0)

您还可以使用(11g起)REGEXP_SUBSTR返回所需的匹配项

WITH test AS (SELECT 'Test1=Hi;Test2=Hello;Test3=Good;Test4=Morning' AS column_1 FROM DUAL)
SELECT REGEXP_SUBSTR(column_1, 'Test2=(.+?);', 1, 1, NULL, 1) FROM test;