Obtener el número de días entre dos fechas en Oracle, inclusive de las fechas

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 Kommentar

  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

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea