Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
Consulta de texto largo de MYSQL con JSON

Tengo una tabla con la siguiente estructura:

 CREATE TABLE `Event` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `created` datetime(6) NOT NULL, `last_updated` datetime(6) NOT NULL, `info` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=720 DEFAULT CHARSET=latin1

Necesito consultarlo usando la columna de info (que contiene una cadena JSON).

Si lo consulto haciendo:

 SELECT e.id, e.created, JSON_TYPE(e.info) AS info FROM Event e

Devuelve OBJECT en la columna INFO, pero si trato de tomar una columna específica del JSON, recibo:

Error de SQL [3144] [22001]: Truncamiento de datos: no se puede crear un valor JSON a partir de una cadena con CHARACTER SET 'binary'.

El SQL que estoy ejecutando:

 SELECT INFO - > '$User' FROM (SELECT e.id, e.created, JSON_TYPE(e.info) AS info FROM Event e) as X

No es una opción cambiar el tipo de columna a json.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puedes intentar CAST a JSON entonces

 SELECT info -> '$.User', info_type FROM (SELECT e.id, e.created, JSON_TYPE( CAST( info AS JSON ) ) AS info_type, CAST( info AS JSON ) AS info FROM Event e) as X

ya que un valor de cadena dentro de una función de aceptación de valor JSON ( JSON_TYPE() ) no funcionaría.

Por cierto, no necesita traer el tipo JSON, sino solo el JSON, para su caso.

Actualización : alternativamente, puede usar sin subconsulta usando JSON_EXTRACT() como

 SELECT JSON_EXTRACT( CAST( info AS JSON ) , '$.A' ) AS info, JSON_TYPE( CAST( info AS JSON ) ) AS info_type FROM Event
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda