Query SQL que devuelve todos los días de un determinado mes

Saturday, March 31, 2012 17:25
Posted in category Informática, Oracle
SELECT TRUNC (SYSDATE, 'MON')+rownum-1 AS dias_del_mes
FROM DUAL
WHERE to_char(SYSDATE,'MON')=to_char(TRUNC (SYSDATE, 'MON')+rownum-1,'MON')
CONNECT BY LEVEL <= 31

Lo que nos devolverá :

dias_del_mes
———–
01-MAR-2012
02-MAR-2012
………..
………..
………..
30-MAR-2012

Si queremos reemplezar SYSDATE por otra fecha, la query quedaría de la siguiente manera:

SELECT TO_DATE ('01-' || '&Month' || '-' || '&year', 'DD-MON-YYYY')+ LEVEL- 1
FROM DUAL
CONNECT BY LEVEL <= 31
AND TO_CHAR ( TO_DATE ('01-' || '&Month' || '-' || '&year','DD-MON-YYYY')+ LEVEL- 1,'MON') = '&Month'
You can leave a response, or trackback from your own site.

6 Responses to “Query SQL que devuelve todos los días de un determinado mes”

  1. irving - lanzadores de xploits says:

    June 10th, 2012 at 11:18 pm

    Excelente, buena info, porque puede que utilice esta sentencia prontamente..

  2. Lazz Trejo says:

    August 21st, 2014 at 8:20 pm

    SELECT TO_DATE(’13/10/1982′)+rownum-1 AS dias_del_mes
    FROM DUAL
    CONNECT BY LEVEL <= (SELECT TRUNC(TO_DATE('13/11/1982')-TO_DATE('13/10/1982')) FROM DUAL)
     enumera desde la fecha inicio hasta la fecha final

    DIAS_DEL_MES
    13/10/1982
    14/10/1982
    15/10/1982
    16/10/1982
    17/10/1982
    18/10/1982
    19/10/1982
    20/10/1982
    21/10/1982
    22/10/1982
    23/10/1982
    24/10/1982
    25/10/1982
    26/10/1982
    27/10/1982
    28/10/1982
    29/10/1982
    30/10/1982
    31/10/1982
    01/11/1982
    02/11/1982
    03/11/1982
    04/11/1982
    05/11/1982
    06/11/1982
    07/11/1982
    08/11/1982
    09/11/1982
    10/11/1982
    11/11/1982
    12/11/1982

  3. Lazz Trejo says:

    September 12th, 2014 at 7:03 pm

    SELECT TRUNC (TO_DATE(’15/09/2014′))+rownum-1 AS dias_del_mes
    FROM DUAL
    CONNECT BY LEVEL <= TRUNC (TO_DATE('25/10/2014'))-TRUNC (TO_DATE('15/09/2014'))

    con rango de fechas

  4. Maria says:

    September 22nd, 2016 at 7:49 pm

    Excelente query. Como podría aplicarla si lo que necesito es los dias entre un rango de fecha que no coincide con el mes calendario?

    Muchisimas gracias

  5. Maria says:

    September 22nd, 2016 at 8:00 pm

    Encontre la solución. Gracias

  6. Jesus Rosas says:

    October 12th, 2017 at 5:53 pm

    Muy bueno…. ahora de casualidad no sabes como imprimir esas fechas pero en forma de columnas???

Leave a Reply