Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Concatenar String y Blob, ¿es posible?

Estas en el tema de Concatenar String y Blob, ¿es posible? en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/03/2008, 10:26
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Antigüedad: 16 años, 3 meses
Puntos: 2
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.
  #2 (permalink)  
Antiguo 26/03/2008, 19:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
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
  #3 (permalink)  
Antiguo 27/03/2008, 02:01
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Antigüedad: 16 años, 3 meses
Puntos: 2
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.
  #4 (permalink)  
Antiguo 27/03/2008, 06:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
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.
  #5 (permalink)  
Antiguo 27/03/2008, 08:00
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Antigüedad: 16 años, 3 meses
Puntos: 2
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.
  #6 (permalink)  
Antiguo 27/03/2008, 08:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
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
  #7 (permalink)  
Antiguo 27/03/2008, 10:10
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Antigüedad: 16 años, 3 meses
Puntos: 2
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
  #8 (permalink)  
Antiguo 27/03/2008, 11:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
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'
  #9 (permalink)  
Antiguo 27/03/2008, 11:56
 
Fecha de Ingreso: enero-2008
Mensajes: 42
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: Concatenar String y Blob, ¿es posible?

Hola

Muchas gracias por el código ;)

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.