Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

242
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!