Quiero obtener el total del número de días entre dos fechas. He probado la siguiente consulta, pero no obtener el exacto diferentes; la última fecha no se incluyen.

select (to_date ('15-06-13','dd-MM-yyyy') - to_date('01-02-12','dd-MM-yyyy')) 
  from dual

Esto debería devolver 501 días, pero se está volviendo 500 días en su lugar. Si puedo añadir +1, después del cálculo, entonces me da el resultado correcto.

¿Es realmente necesario incluir +1 o es que hay un enfoque alternativo para obtener el resultado real?

Es volver a 500 días, porque esa es la diferencia :-). Si usted desea devolver 1 más que la diferencia se debe añadir 1, sí.
Yo diría que no es la adición de la fecha final (es decir, 15-06-13) o fecha de inicio (01-02-12). Yo no quiero añadir un día. Consulte en este enlace timeanddate.com/date/…
El enlace dice que «Incluir la fecha de finalización en el cálculo (1 día)»; es explícitamente diciendo que 1 día serán añadidos. No es sólo el comportamiento por defecto de la resta para hacer lo que le estás pidiendo, 10 – 4 es 6, 5 no. Si desea cambiar el comportamiento por defecto, tendrá que hacerlo manualmente.

OriginalEl autor user968441 | 2013-12-21

1 Comentario

  1. 15

    En Oracle restando dos fechas devuelve el número de días entre dos fechas.

    Un minus operador funciona de la misma manera que para los números:

    20 - 20 = 0   ===>      2013-05-20  -  2013-05-20 = 0
    25 - 20 = 5   ===>      2013-05-25  -  2013-05-20 = 5

    Si desea incluir last number o last date, usted necesita agregar 1:

    20 - 20 + 1 = 1   ===>      2013-05-20  -  2013-05-20  + 1 = 1
    25 - 20 + 1 = 6   ===>      2013-05-25  -  2013-05-20  + 1 = 6

    OriginalEl autor krokodilko

Dejar respuesta

Please enter your comment!
Please enter your name here