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

545
Views
Diferencia entre dos fechas en MySQL con la función DATE()

Estoy usando la función FECHA () para calcular la diferencia entre dos fechas en MySQL

el valor de la función SYSDATE () es el siguiente

 select SYSDATE(); 2020-07-15 12:16:07.0

Cuando estoy usando la fecha del mismo mes , está dando el resultado correcto

 select DATE(SYSDATE())- DATE('2020-07-13'); 2

Pero cuando uso la fecha del mes pasado , la diferencia es 86 en lugar de 16;

 select DATE(SYSDATE())- DATE('2020-06-29'); 86

Editar: soy consciente de que podemos usar DATEDIFF() pero quiero verificar por qué la función DATE() está dando resultados como este ya que ya estamos usando esto en el código

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

MySQL no admite restar una fecha de otra. El código

 SELECT DATE '2020-07-15' - DATE '2020-06-29';

por lo tanto, debería dar como resultado un error, pero MySQL silenciosamente convierte esto a esto en su lugar:

 SELECT 20200715 - 20200629;

Al ver que quieres restar dos valores, se supone que quieres trabajar con números. Las fechas no son números, pero su representación interna aaaammdd se puede representar numéricamente. Entonces, mientras CAST(DATE '2020-07-15 ' AS int) falla con un error de sintaxis, como debería ser, MySQL no es consistente cuando se trata de restar. Genera los números 20200715 y 20200629 y trabaja con estos.

Considero esto un error. MySQL debería generar una excepción o devolver un INTERVAL al restar una DATE de otra.

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!