Necesito para calificar a una consulta de una Base de datos en Oracle, para un informe basado en ciertos rangos de fecha

1ª consulta

La tarde de 5 a 7 de la mañana (Entre las 5 de la tarde de ayer y de Hoy 7 de la mañana)

2ª consulta

de 7am-5pm ((Entre 5 de la tarde de ayer , de Hoy, de 7 de la mañana)

¿Cómo puedo hacer esto??? Necesito saber Oracle Sintaxis para especificar aquellos fecha de criterios

Gracias de Antemano

  • Estoy suponiendo que el comentario de la segunda consulta se supone que «entre las 7 de la mañana de hoy a 5 de la tarde de hoy»
InformationsquelleAutor rgvwed | 2012-08-21

1 Comentario

  1. 6

    Probablemente voy a hacer algo como

    WHERE some_date_col BETWEEN trunc(sysdate-1) + interval '17' hour -- 5pm yesterday
                            AND trunc(sysdate) + interval '7' hour -- 7am today

    y

    WHERE some_date_col BETWEEN trunc(sysdate) + interval '7' hour -- 7am today
                            AND trunc(sysdate) + interval '17' hour -- 5pm today

    Hay otro hilo en la adición de horas y minutos a las fechas que entra en más detalles acerca de las diferentes maneras de especificar la fecha de compensaciones.

    • hola, gracias, en realidad probablemente voy a hacer para informes por separado, por lo que la primera consulta sería DISCH_DT_TM ENTRE pi_to_gmt(TRUNC(SYSDATE) – ???,( pi_time_zone(2) )) Y SYSDATE ??? /* esto para el
    • No estoy seguro de lo pi_to_gmt que es o lo que pi_time_zone(2) medios. Estoy suponiendo que esas son las funciones en su sistema cuyo comportamiento se entiende. Usted puede utilizar cada una de las WHERE cláusulas que he publicado en un informe separado– sólo añadir lo de las llamadas a las funciones son necesarias basándose en los requisitos que usted tiene.
    • oK voy a probar el intervalo en mi base de datos y ver si funciona, ¿cómo exactamente funciona? hay otras maneras de hacer esto
    • ¿qué trunc y los intervalos realmente? hacer reset día actual?
    • devuelve la medianoche del día de some_date. Si pasa un DATE que representa el 22 de agosto de 2012 a las 12:42:00 am, se obtiene de nuevo el 22 de agosto de 2012 a la medianoche. La adición de un intervalo en el que se mueve la fecha hacia adelante en el tiempo, en este caso por el número especificado de horas (aunque puede especificar intervalos utilizando otras medidas (es decir, horas, minutos, segundos, días, etc.).
    • +1. Me gusta más el uso de: WHERE some_date_col BETWEEN trunc(sysdate-1) + 17/24 AND trunc(sysdate) + 7/24 -- ;)

Dejar respuesta

Please enter your comment!
Please enter your name here