Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

236
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda