• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Contrata talento tech
    • Blog
    • Comercial
    • Calculadora de salario

0

495
Vistas
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

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

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.

about 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda