【发布时间】:2017-03-14 04:28:57
【问题描述】:
我有一个关于带有 XML 数据的 Oracle EXTRACT 的问题。我有这个 xml 数据:
<MSH xmlns="http://tempuri.org/layout.xsd">
<PK_REPMSH>1</PK_REPMSH>
<TIPO_OPER>A</TIPO_OPER>
<TIPO_CHAVE>CHAVE</TIPO_CHAVE>
<DATA_INC>20140508175904</DATA_INC>
<HORA_INC>17:59</HORA_INC>
<EVN>
<TIPO_CHAVE_EVENTO>A1</TIPO_CHAVE_EVENTO>
<DATA_INC_EVENTO>20140508175904</DATA_INC_EVENTO>
<HORA_INC_EVENTO>17:59</HORA_INC_EVENTO>
</EVN>
<PID>
<COD_PACIENTE>000001533</COD_PACIENTE>
<PRIMEIRO_NOME>VINICIOS<PRIMEIRO_NOME>
<ULTIMO_NOME>RODRIGUES</ULTIMO_NOME>
<DATA_NASCIMENTO>151561321</DATA_NASCIMENTO>
<SEXO>M</SEXO>
<ENDERECO_RES>RUA DE MENTIRA</ENDERECO_RES>
<NU_ENDERECO_RES>10</NU_ENDERECO_RES>
<PAIS>BRASIL</PAIS>
<CIDADE>RECIFE</CIDADE>
<CEP>515160561</CEP>
<DS_BAIRRO_RES>MENTIRINHA</DS_BAIRRO_RES>
</PID>
</MSH>
我创建此 SQL 以从 XML 数据中提取“PRIMEIRO_NOME”:
SELECT TRN_IN_ID, EXTRACT(xmlType(XML_BL_XML), '/MSH/PID/PRIMEIRO_NOME') AS XML_BL_XML FROM intp_lob_xml WHERE TRN_IN_ID = '1'
但是 select 的结果集是 null XML_BL_XML。
TRN_IN_ID XML_BL_XML
---------------------- -------------
1 null
OBS:XML_BL_XML 是一个 CLOB 列。
如何解决这个问题?有人可以帮帮我吗?
【问题讨论】:
-
尝试检查来自xmltype转换函数的结果。您可能需要在函数中添加第二个参数来设置字符集 ID。
-
Oi @RenatoAfonso ,一个函数 xmlType retorna o xml 正常。 A parte de adicionar um segundo parâmetro eu não entendi muito bem, teria como mostrar um exemplo?