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

506
Views
¿Por qué MySQL 8 IF e IFNULL devuelven un resultado BLOB al probar una variable con valor NULL?

Nota: He movido la esencia de esta pregunta aquí después de haber aprendido algo de lo que está sucediendo pero aún quiero entender. (En esencia, ISNULL y COALESCE se comportan de manera inusual cuando una variable no está definida o se ha establecido en NULL antes de definirse).

Debo estar perdiendo algo muy simple, pero no veo ninguna respuesta a una pregunta anterior similar. Quiero usar un valor predeterminado si una variable no está configurada, pero no puedo ver cómo hacerlo.

 SET @x = NULL; SELECT IFNULL(NULL, 5), IFNULL(@x,5), IF(@x IS NULL, 5, @x); -- gives 5, BLOB, BLOB

Leí que COALESCE es la función correcta para usar aquí, pero COALESCE(@x,5) también da BLOB.

¿Qué me estoy perdiendo? ¿No es posible, en efecto, decir x = x O 5?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Esto es extraño. Usando MySQL Workbench, comenzará a funcionar si ejecuta los 3 bloques:

 SET @x = NULL; SELECT IFNULL(NULL, 5), IFNULL(@x,5), IF(@x IS NULL, 5, @x); -- 5, blob, blob SET @x = 'TEST'; SELECT IFNULL(NULL, 5), IFNULL(@x,5), IF(@x IS NULL, 5, @x); -- 5, TEST, TEST SET @x = NULL; SELECT IFNULL(NULL, 5), IFNULL(@x,5), IF(@x IS NULL, 5, @x); -- 5, 5, 5

AFAIK, no puede definir un tipo para una variable definida por el usuario, pero MySQL no parece saber qué hacer con esta variable hasta que primero la configura en algo que no es nulo. Si ejecuto su declaración dentro de sqlDeveloper, generará 77686174 en lugar de 'BLOB'.

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!