Si recordáis aquellas consultas megalíticas de los
informes que nos hacían hacer con Oracle Reports o con otra herramienta arcana,
cuando te pedían informes por trimestre (o “Quarters” si tenías un analista del
tipo “Tom Cruise-Wannabe”), me echaba a temblar. Aquí
hay una serie de consultas que a lo mejor sirven para algo, nunca se sabe.
- Número de mes en el trimestre
SQL>select
trunc(to_char(sysdate,'mm')/to_char(sysdate,'Q')) fecha from dual;
- Número de semana en el trimestre
SQL>select 1 +
TRUNC((sysdate - TRUNC(sysdate, 'Q'))/7) fecha from dual;
- Número de día en el trimestre
SQL>select
trunc(sysdate-trunc(sysdate,'Q'))+1 fecha from dual;
-
¿La fecha seleccionada es fin de semana?
Tenemos esta tabla Prueba con estos datos y queremos saber si la fecha de inicio cae en fin de semana.
ID
|
DESCP
|
FEC_INICIO
|
FEC_FIN
|
1
|
prueba1
|
02/10/2012
|
|
2
|
prueba2
|
03/10/2012
|
|
3
|
prueba3
|
04/10/2012
|
|
4
|
prueba4
|
06/10/2012
|
Esta consulta nos devuelve el indicador de fila que se ha creado en fin de
semana:
SQL>Select id FROM rafa.pruebas
WHERE MOD(TO_CHAR(fec_inicio, 'J'), 7) + 1 IN (6, 7);
No hay comentarios:
Publicar un comentario
Por favor deja tu comentario, es valioso.