在 oracle sql 中从包含 XML 格式化字符串的列中获取子字符串
Fetch sub-string from a column containing XML formatted String in oracle sql
作为我查询的一部分,我有一列具有如下两种模式的字段值
First Pattern:-
"First Name:<a class='text-lg text-info'> David Peter </a><br>
Deadline:<a class='text-lg text-info'>2019-12-07 20:05:01</a><br>
Remarks:<a class='text-lg text-info'>Some remarks with multiple spaces</a><br>"
Second Pattern:-
FirstName: <a class='text-lg text-info'>Alex Vander Veen</a><br>DeadLine: <a class='text-lg text-info'>2019-11-16 16:30:35</a>
我正在尝试从这两个字段中取出 First Name
/FirstName
和 Deadline
值。
输出需要如下:-
要获取此详细信息,需要在提到的两个模式上使用 case statement
,但我真的不知道如何仅从中获取 First Name
/FirstName
和 Deadline
XML 格式化字符串。
我能够找到解决上述问题的方法。
SELECT SUBSTR(REGEXP_SUBSTR(A.FIELD_CONTENT,'>[^>]+<'),2,LENGTH(REGEXP_SUBSTR(A.FIELD_CONTENT,'>[^>]+<')) - 2 ) AS First_Name,
SUBSTR(SUBSTR(A.FIELD_CONTENT, REGEXP_INSTR(a.FIELD_CONTENT, '>', 1,4)+1),1, (REGEXP_INSTR(SUBSTR(A.FIELD_CONTENT, REGEXP_INSTR(a.FIELD_CONTENT, '>', 1,4)+1),'<',1,1) -1)) AS DEADLINE
FROM table_name1 a
WHERE a.FIELD_CONTENT like '%First%'
我想到了这个。如果有人有任何建议可以降低成本。欢迎提出建议.. :-)
作为我查询的一部分,我有一列具有如下两种模式的字段值
First Pattern:-
"First Name:<a class='text-lg text-info'> David Peter </a><br>
Deadline:<a class='text-lg text-info'>2019-12-07 20:05:01</a><br>
Remarks:<a class='text-lg text-info'>Some remarks with multiple spaces</a><br>"
Second Pattern:-
FirstName: <a class='text-lg text-info'>Alex Vander Veen</a><br>DeadLine: <a class='text-lg text-info'>2019-11-16 16:30:35</a>
我正在尝试从这两个字段中取出 First Name
/FirstName
和 Deadline
值。
输出需要如下:-
要获取此详细信息,需要在提到的两个模式上使用 case statement
,但我真的不知道如何仅从中获取 First Name
/FirstName
和 Deadline
XML 格式化字符串。
我能够找到解决上述问题的方法。
SELECT SUBSTR(REGEXP_SUBSTR(A.FIELD_CONTENT,'>[^>]+<'),2,LENGTH(REGEXP_SUBSTR(A.FIELD_CONTENT,'>[^>]+<')) - 2 ) AS First_Name,
SUBSTR(SUBSTR(A.FIELD_CONTENT, REGEXP_INSTR(a.FIELD_CONTENT, '>', 1,4)+1),1, (REGEXP_INSTR(SUBSTR(A.FIELD_CONTENT, REGEXP_INSTR(a.FIELD_CONTENT, '>', 1,4)+1),'<',1,1) -1)) AS DEADLINE
FROM table_name1 a
WHERE a.FIELD_CONTENT like '%First%'
我想到了这个。如果有人有任何建议可以降低成本。欢迎提出建议.. :-)