jueves, 20 de octubre de 2016

Filtrar por rango de fechas de forma optima en Oracle PL/SQL Developer

La siguiente es la forma mas optima que se validó con el plan de ejecución en Oracle:

SELECT COUNT(0
FROM ESQUEMA.TABLA
WHERE CAMPO_FECHA >= TO_DATE('01.05.2016:00:00:00','DD.MM.YYYY:HH24:MI:SS')
AND CAMPO_FECHA <= TO_DATE('31.05.2016:23:59:59','DD.MM.YYYY:HH24:MI:SS')

3 comentarios:

  1. Buenas tardes, muy útil la query. Muchas gracias .

    ResponderBorrar
  2. Me sirvió de mucho, gracias. saludos desde Lima-Perú
    La use para sacar un rango de trabajadores que cesaron entre años 2013 a la fecha:
    SELECT A.ANOINI, A.MESINI, A.TIPTRA, A.CONLAB, A.CODTRA, b.apepat, b.apemat, b.nombre, b.numdoc, to_char(b.fecnac, 'DD/MM/YYYY'), to_char(a.fecini,'DD/MM/YYYY'), to_char(a.fecCES,'DD/MM/YYYY')
    FROM DATLAB A, DATGEN B
    WHERE
    A.TIPTRA = '2' AND A.CONLAB = 'R'
    AND A.CODTRA=B.CODTRA
    and A.fecces >= TO_DATE('01.01.2013','DD.MM.YYYY')
    AND A.fecces <= TO_DATE('30.11.2020','DD.MM.YYYY')
    ORDER BY A.FECCES

    ResponderBorrar