Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 26-mar-2008, 10:26   #1 (permalink)
MMMartinez ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Concatenar String y Blob, ¿es posible?

Hola

He estado buscando por el foro y no he encontrado algo que se asemeje (por lo menos con java, con php hay algo).

Tengo una duda sobre estos los tipos de datos String y Blob.

Tengo una base de datos en MySQL y tengo un programa en Java que me va cogiendo los datos de una tabla.

En esta tabla tengo un campo que es de tipo varchar(100) y otro campo que es de tipo mediumblob, desde mi programa java quiero coger el campo1 (varchar(100)) y el campo2 (mediumblob) y concatenarlos para despues meterlo en un campo de tipo mediumblob.

¿Es posible hacer lo que quiero?

Espero que alguien pueda ayudarme.

Gracias adelantadas.

Saludos.
MMMartinez está desconectado   Responder Citando
Antiguo 26-mar-2008, 19:47   #2 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 824
Re: Concatenar String y Blob, ¿es posible?

Voy a hacer una hipótesis: Un BLOB es un campo que contiene un LONG BINARY, por lo que para que se lo pueda almacenar en un MEDIMBLOB, deberías convertir el VARCHAR en BLOB antes.
Posiblemente usando las funciones de CAST lo puedas conseguir: 12.8. Funciones y operadores de cast
gnzsoloyo está desconectado   Responder Citando
Antiguo 27-mar-2008, 02:01   #3 (permalink)
MMMartinez ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Re: Concatenar String y Blob, ¿es posible?

Hola

El varchar se tendría que quedar como varchar, porque desde java lo que hago es cogerlo y tratarlo como String, es decir, tengo estos campos:

campo1 --> varchar (100)
campo1='Lv:0:39:http://www.w3.org/2001/XMLSchema#stringThis is an abstract superclass of both advertisement:'

campo2 -->mediumblob
campo2='exists an editor, who is either this author or the editor responsible for this author. The section that contains this article is one of the sections managed by this editor.

Note that the range definition for ?article could be omitted because this constraint is attached to the Article class.
'

Tengo un método en java para quitarle al campo1 Lv:0:39:http://www.w3.org/2001/XMLSchema#string de tal manera que me quedaría asi:This is an abstract superclass of both advertisement.

Y lo que quiero hacer es concatenarle el campo2.

Saludos.
MMMartinez está desconectado   Responder Citando
Antiguo 27-mar-2008, 06:00   #4 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 824
Re: Concatenar String y Blob, ¿es posible?

Habiendo probado qué es lo que sucede al hacer la concatenación de dos campos de esos tipos, te cuento que simplemente el resultado será que MySQL convierta el contenido del campo MEDIUMBLOB a un varchar, según el valor de los binarios que lo compongan.
En otras palabras, teniendo un MEDIUMBLOB conteniendo '5487878' convertido a binario, y un VARCHAR conteniendo '5459878798787', la concatenación dará '54878785459878798787', como VARCHAR.
gnzsoloyo está desconectado   Responder Citando
Antiguo 27-mar-2008, 08:00   #5 (permalink)
MMMartinez ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Re: Concatenar String y Blob, ¿es posible?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Habiendo probado qué es lo que sucede al hacer la concatenación de dos campos de esos tipos, te cuento que simplemente el resultado será que MySQL convierta el contenido del campo MEDIUMBLOB a un varchar, según el valor de los binarios que lo compongan.
En otras palabras, teniendo un MEDIUMBLOB conteniendo '5487878' convertido a binario, y un VARCHAR conteniendo '5459878798787', la concatenación dará '54878785459878798787', como VARCHAR.
¿Y eso lo has hecho desde java o desde MySQL?
El varchar(100) lo tengo que tratar desde java a la fuerza (no puedo dejar sin tratarlo) y en java un varchar es un String (si me dices que no te creo)..

¿Me podrías poner la instrucción que has utilizado para hacer la prueba?

Saludos.
MMMartinez está desconectado   Responder Citando
Antiguo 27-mar-2008, 08:37   #6 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 824
Re: Concatenar String y Blob, ¿es posible?

El detalle lo resuelvo en la base de datos, es decir en SQL. Construí una tabla con campos de ese tipo, los cargué y los probé. De ahí la respuesta.

Si lo que quieres es resolver ese tema desde código JAVA, entonces la pregunta la tendrías que postear en la sección JAVA. Esta sección es Bases de Datos - MySQL. Acá se resuelven dudas de SQL y Bases de Datos. No código de programación de aplicaciones (sin importar de qué lenguaje estés hablando).

Ten en cuenta lo que pone siempre el moderador: Función de la sección Base de Datos
gnzsoloyo está desconectado   Responder Citando
Antiguo 27-mar-2008, 10:10   #7 (permalink)
MMMartinez ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Re: Concatenar String y Blob, ¿es posible?

Hola

No sabía muy bien donde ponerlo porque pensaba que blob era explícito de MySQL...

¿Me podrías poner como has hecho el cast en MySQL?

He estao echandole un vistazo a la página que me has dicho, he probado de varias formas pero me da error y no cosigo dar con la oslución :S
MMMartinez está desconectado   Responder Citando
Antiguo 27-mar-2008, 11:20   #8 (permalink)
gnzsoloyo tiene algunos puntos positivos de karma
 
Avatar de gnzsoloyo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 824
Re: Concatenar String y Blob, ¿es posible?

Supongamos una tabla con esta estructura:
Código:
DROP TABLE IF EXISTS `test`.`tabla1`;
CREATE TABLE  `test`.`tabla1` (
  `Campo1` mediumblob NOT NULL,
  `Campo2` varchar(45) NOT NULL,
  PRIMARY KEY  (`Campo2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
y un conjunto de inserciones:
Código:
INSERT INTO tabla1 VALUES('23232323','2323232323232');
INSERT INTO tabla1 VALUES('23598421325','36898777');
INSERT INTO tabla1 VALUES('989846339','5598215457');
El resultado de un SELECT con concatenación sería:
Código:
SELECT CONCAT(Campo1, Campo2) CADENAS FROM test.tabla1 t;
Cadenas
'232323232323232323232'
'2359842132536898777'
'9898463395598215457'
gnzsoloyo está desconectado   Responder Citando
Antiguo 27-mar-2008, 11:56   #9 (permalink)
MMMartinez ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Re: Concatenar String y Blob, ¿es posible?

Hola

Muchas gracias por el código ;)

Saludos!
MMMartinez está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93