我需要从 Oracle 表中的单元格值中提取字符串。我怎样才能做到这一点?
VALUE
--------
/var1/var2/var3/C751994ZP1QT11/var4.itp
我想使用 SQL 从值中提取“C751994ZP1QT11”。我搜索了一些类似 REGEXP_LIKE 的函数,但我不太明白如何使用它。
提前感谢您的帮助。
如果要提取字符串,则需要使用regexp_substr()
. regexp_like()
将返回一个布尔值,指示某个正则表达式是否与您的字符串匹配,而regexp_substr()
实际上返回匹配的字符串。
在您的情况下,假设您想要 and 之间的字符串/**
,**/
您可以使用如下内容:
select
regexp_substr(
'/var1/var2/var3/**C751994ZP1QT11**/var4.itp',
'/\*\*.*\*\*/')
from dual
有关 Oracle 正则表达式的一些有用快捷方式,请参阅此处。
select REGEXP_REPLACE('/var1/var2/var3/**C751994ZP1QT11**/var4.itp','.*\*\*(.*)\*\*.*','\1') result from dual