No me gustan los lunes, me gustan los viernes y sábados.

10/06/2008 - 19:13 por David | Informe spam
Microsoft SQL Server 2000

Muy buenas es posible realizar esta consulta


Escenario:
-
Dadas dos fechas:

FechaInicial < FechaFinal

¿Cómo saber si dado un intérvalo de fechas, alguna fecha es viernes o
sábado?

¿Es posible construir la condición WHERE?

Obviemos el SELECT y el FROM, ¿cómo construir la condición WHERE?

WHERE Periodo_Fechas Algún día es Viernes ó Sabado

NO tengo ni idea, ¿alguna ayuda? -> realmente alguna solución :-(((

En fin mil gracias de antemano

Preguntas similare

Leer las respuestas

#16 Carlos M. Calvelo
14/06/2008 - 12:20 | Informe spam
Hola David,

On 14 jun, 01:18, "David" wrote:
Microsoft SQL Server 200

Muy buenas, llevo horas y ya ha pasado el viernes y estamos a sábado (que
pesadilla)

¿Cómo insertar fechas que sean VIERNES o SÁBADOS, dado un periodo definido
por FechaInicial y FechaFinal?

Dadas dos fechas: FechaInicio y FechaFinal que definen un periodo insertas
las fechas que sean Viernes o Sábados

INSERT INTO festivos

(fecha)

VALUES

NI IDEA

where
datediff(dd,FechaInicial,FechaFinal) > 4 or
(datepart(dw,FechaInicial)+@@datefirst)%7 >
(datepart(dw,FechaFinal)+@@datefirst)%7 or
(datepart(dw,FechaInicial)+@@datefirst)%7 = 0 or
(datepart(dw,FechaFinal)+@@datefirst)%7 = 6

Reconozco que no se por donde tirar, la condición de VIERNES o SÁBADO está
ahí pero ¿Cómo insertar las puñeteras fechas?

En fin cualquier aportación será bienvenida.




Me parece que no nos hemos comunicado muy bien.

La pregunta original era:
"Contiene un periodo dado al menos un viernes o sábado?"
Con las posibles respuestas Si o No.
Este es el problema que yo he tratado de solucionar.

Otra pregunta muy distinta es:
"Dado un periodo, devolver una lista con todas las fechas en ese
periodo que sean viernes o sábado?"
La respuesta a esta pregunta es una tabla con fechas que es la
que estás tratando de intruducir en la tabla 'festivos'.

Por ejemplo:
Dado el periodo 14/6/2008 - 30/6/2008, quieres generar la tabla:

14/6/2008
20/6/2008
21/6/2008
27/6/2008
28/6/2008

Que a su vez son las fechas que quieres introducir en la tabla
'festivos'.

Te estoy entendiendo bien ahora?

Mira en este hilo:
http://groups.google.com/group/micr...374308f861

Ahí tienes una función Fechas() que puedes utilizar así:
(con el periodo ejemplo dado arriba)

insert into festivos
select Fecha
from dbo.Fechas('20080614','20080630')
where diasemana in (0,6)

Si tienes periodos muy largos podrías utilizar esa función como
base para hacer tu otra más específica, que genere solo los
viernes y los sábados.

Saludos,
Carlos
Respuesta Responder a este mensaje
#17 Carlos M. Calvelo
14/06/2008 - 13:03 | Informe spam

insert into festivos
select Fecha
from dbo.Fechas('20080614','20080630')
where diasemana in (0,6)




Bueno... no sé que otras columnas puedes tener en
la tabla 'festivos'.

insert into festivos (fecha)
select ...<etc>...

Saludos,
Carlos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida