从字段 PLSQL 中提取子字符串
Extract a substring from a field PLSQL
我刚从 PL/SQL
开始,我需要从我存储了所有 XML 文本的字段中提取某些信息,其中包含大约 4,000 个字符,如果不是更多,请查阅我看到的相应文档对于我需要的,你可以使用函数 SUBSTR
或函数我 REGEXP_SUBSTR
不知道在我的情况下可以使用这两个函数中的哪一个。
从我存储在字段中的所有文本中我需要提取一个特定的数据,以下只是我在字段中的一部分文本。
fechaAutenticacion="2019-10-17T17:14:23"
我需要从这部分文本中提取它包含的内容 fechaAutenticacion
,我的意思是这部分 2019-10-17T17:14:23
没有引号,然后将其显示在新列中。
以下是对 table 的查询以及我拥有超过 4,000 个字符的所有文本的字段。
SELECT SPRCMNT_TEXT_NAR
FROM SPRCMNT
假设模式 ''fechaAutenticacion="<DATE>"'
始终表示您要陷印的部分,您可以像这样使用 regexp_substr()
:
select regexp_substr(sprcmnt_text_nar, 'fechaAutenticacion="([^"]+)"', 1, 1, null, 1) authentication_date
from sprcmnt
圆括号在字符串的匹配部分定义了一个捕获组;然后,最后一个参数告诉 Oracle return 第一个(唯一的)捕获组而不是所有匹配项。
我很想使用 regexp_replace()
:
select regexp_replace(sprcmnt_text_nar, '^.*fechaAutenticacion="([^"])".*$', '')
我刚从 PL/SQL
开始,我需要从我存储了所有 XML 文本的字段中提取某些信息,其中包含大约 4,000 个字符,如果不是更多,请查阅我看到的相应文档对于我需要的,你可以使用函数 SUBSTR
或函数我 REGEXP_SUBSTR
不知道在我的情况下可以使用这两个函数中的哪一个。
从我存储在字段中的所有文本中我需要提取一个特定的数据,以下只是我在字段中的一部分文本。
fechaAutenticacion="2019-10-17T17:14:23"
我需要从这部分文本中提取它包含的内容 fechaAutenticacion
,我的意思是这部分 2019-10-17T17:14:23
没有引号,然后将其显示在新列中。
以下是对 table 的查询以及我拥有超过 4,000 个字符的所有文本的字段。
SELECT SPRCMNT_TEXT_NAR
FROM SPRCMNT
假设模式 ''fechaAutenticacion="<DATE>"'
始终表示您要陷印的部分,您可以像这样使用 regexp_substr()
:
select regexp_substr(sprcmnt_text_nar, 'fechaAutenticacion="([^"]+)"', 1, 1, null, 1) authentication_date
from sprcmnt
圆括号在字符串的匹配部分定义了一个捕获组;然后,最后一个参数告诉 Oracle return 第一个(唯一的)捕获组而不是所有匹配项。
我很想使用 regexp_replace()
:
select regexp_replace(sprcmnt_text_nar, '^.*fechaAutenticacion="([^"])".*$', '')