Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   DB2 (https://www.clubdelphi.com/foros/forumdisplay.php?f=33)
-   -   select a columna xml (https://www.clubdelphi.com/foros/showthread.php?t=85721)

winzo 23-04-2014 22:21:09

select a columna xml
 
Hola a todos, tengo una table con una columna de tipo XML, yo insert algo como "<A></A>"

Pero tristemente cuando realize un query lo que obtengo es algo como "3c612f3e".

Mi pregunta es muy punctual, como hago para ver esta columna como una cadena cuando hago mi select?

de antemano gracias a todos

ecfisa 23-04-2014 22:46:07

Hola winzo.

Revisa si te sirven estos enlaces:
Saludos :)

winzo 23-04-2014 22:57:52

Cita:

Empezado por ecfisa (Mensaje 475507)


Creo que no me explique bien, lo que tu tan amablemente me pusiste es como hacer un query sobre una columna XML.


Lo que yo quiero es algo como esto:

1) Tengo una tabla "TABLA" con dos columnas:
id INTEGER
cad XML

2) Hago un insert:
insert into TABLA(id, cad) values(1, "<A>algo</A>")

3) lo que me interesa es que cuando hago este query:

select * form TABLA;

Obtenga un resultado como:

id cad
________________

1 <A>algo</A>


pero en su lugar lo que obtengo es:

id cad
________________

1 12387324


Como puedo obtener la cadena XML original que he puesto al hacer un select?

ecfisa 23-04-2014 23:49:01

Hola Winzo.

Comprendo... Entonces tal vez te sirva esta información que obtuve en la página de DB2 de IBM: El último enlace, en especial, presenta un ejemplo muy sugerente:
Código SQL [-]
SELECT R.Pid
FROM PURCHASEORDER P, PRODUCT R
WHERE R.NAME = XMLCAST(XMLQUERY('$d/PurchaseOrder/item/name' PASSING P.PORDER AS "d") AS VARCHAR(128))
Me disculpo por no ser mas específico pero jamás usé DB2.

Saludos :)

winzo 24-04-2014 00:00:12

El problema
 
Cita:

Empezado por ecfisa (Mensaje 475512)
Hola Winzo.

Comprendo... Entonces tal vez te sirva esta información que obtuve en la página de DB2 de IBM:El último enlace, en especial, presenta un ejemplo muy sugerente:
Código SQL [-]SELECT R.Pid FROM PURCHASEORDER P, PRODUCT R WHERE R.NAME = XMLCAST(XMLQUERY('$d/PurchaseOrder/item/name' PASSING P.PORDER AS "d") AS VARCHAR(128))

Me disculpo por no ser mas específico pero jamás usé DB2.

Saludos :)



No te disculpes de nada amigo, estás ayudando.:cool:


Bueno, pues ya había ahondado en esas cosas, pero sigue siendo obtener contenido de un xml de una columna, yo quiero obtener la cadena completa que guardo, el XML completo

orodriguezca 24-04-2014 01:49:15

usa XMLSERIALIZE
 
Prueba con esto:
Código SQL [-]
select ID, XMLSERIALZE(cad) as MI_XML from TABLA

en DB2 for i funciona.


La franja horaria es GMT +2. Ahora son las 19:32:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi