0

我需要从 Oracle 表中的单元格值中提取字符串。我怎样才能做到这一点?

VALUE
--------
/var1/var2/var3/C751994ZP1QT11/var4.itp

我想使用 SQL 从值中提取“C751994ZP1QT11”。我搜索了一些类似 REGEXP_LIKE 的函数,但我不太明白如何使用它。

提前感谢您的帮助。

4

2 回答 2

1

如果要提取字符串,则需要使用regexp_substr(). regexp_like()将返回一个布尔值,指示某个正则表达式是否与您的字符串匹配,而regexp_substr()实际上返回匹配的字符串。

在您的情况下,假设您想要 and 之间的字符串/****/您可以使用如下内容:

select 
  regexp_substr(
    '/var1/var2/var3/**C751994ZP1QT11**/var4.itp', 
    '/\*\*.*\*\*/') 
from dual

有关 Oracle 正则表达式的一些有用快捷方式,请参阅此处。

于 2012-08-29T05:17:31.010 回答
0
select REGEXP_REPLACE('/var1/var2/var3/**C751994ZP1QT11**/var4.itp','.*\*\*(.*)\*\*.*','\1') result from dual
于 2012-08-29T05:25:51.163 回答