Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/09/2008, 04:32
Avatar de PosProdukcion
PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años, 1 mes
Puntos: 9
Respuesta: Fecha en que empieza una semana!!!

Bueno, no tengo el script, pero puedes jugar con las funciones:

Para @UnaFecha dada

Código:
-- Obtiene el dia de la semana de @UnaFecha
Set @Dia = DATEPART(dw, @UnaFecha)

If @Dia = @@DATEFIRST
  --ES EL PRIMER DIA
  Set @FechaInicioSemana = @UnaFecha
Else
  Set @FechaInicioSemana = DATEADD(dd, -(@Dia-@DistanciaAlComienzoDeLaSemana), @UnaFecha)
@@DATEFIRST Es el primer dia de la semana, que puede ser domingo o lunes segun la configuración del servidor

Lo que esté en rojo, resta @DistanciaAlComienzoDeLaSemana dias a la fecha, esto depende del valor de @@DATEFIRST, por ejemplo, si @@DATEFIRST es 1 (lunes), a cualquier dia habria que restarle (@Dia-1), por ejemplo, a un miercoles (@Dia=3) habria que restarle 2 para obtener el lunes. Pero si @@DATEFIRST es 7 (domingo), habria que restarle 4 (@Dia-7)*(-1) (ya que sale valor negativo, y si resta un valro negativo en realidad lo suma...

Bueno, esto último igual me quedó un poco lioso