Necesito una función en Oracle como este.

Cuando yo dando un parámetro de una simple fecha. Entonces la función debe llegar a mí el último día del mes anterior.

Ejemplo:

FunctionName(10.02.2011) Result should be 31.01.2011

FunctionName(21.03.2011) Result should be 28.02.2011

FunctionName(31.07.2011) Result should be 30.06.2011 (Even date is last day of month)

¿Cómo puedo hacer eso? Por cierto, yo nunca uso Oracle .

OriginalEl autor Soner Gönül | 2011-02-10

4 Comentarios

  1. 28
    SELECT LAST_DAY(ADD_MONTHS(yourdate,-1))
    Estas funciones han sido parte de estándar de Oracle para un par de décadas.
    oh, es bueno saberlo :). Yo en realidad soy nuevo en Oracle.

    OriginalEl autor Lamak

  2. 8

    Como una alternativa a las otras respuestas aquí, también se puede encontrar el último día del mes anterior por llegar el día antes del primer día de este mes

    SELECT trunc(your_date, 'MM')-1 as new_date from your_table

    Probablemente me siguen recomendando el uso de last_day(add_months(xxx,-1)) pero sólo mostrando una alternativa.

    OriginalEl autor Mike Meyers

  3. 3

    select LAST_DAY(ADD_MONTHS(sysdate, -1)) from dual;

    formato de fecha resultante como quieras (se los dejo para ti 😉

    OriginalEl autor tbone

  4. 0

    Con esto también se puede obtener el último DÍA hábil del mes anterior, o en cualquier otro mes el cambio de la -1.

    SELECT (trunc(LAST_DAY(ADD_MONTHS(sysdate,-1)), 'iw') + 4) from dual

    OriginalEl autor LEBRO

Dejar respuesta

Please enter your comment!
Please enter your name here