Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

528
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

over 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.

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