• Viernes 19 de Abril de 2024, 19:53

Autor Tema:  Manejo de fechas...  (Leído 1442 veces)

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Manejo de fechas...
« en: Lunes 21 de Septiembre de 2009, 23:35 »
0
Buenas a todos........

bueno en estos momentos nescesito realizar un reporte el cual me entregue una cantidad de clientes adjuntos a la base de datos por
meses y por semanas en los meses.......

Código: SQL
  1.  
  2.  DECLARE @Mifecha datetime
  3.  DECLARE @fechafin datetime
  4.  DECLARE @nsemanas INT
  5.  DECLARE @cont INT
  6.  SET @Mifecha = '20080921'
  7.  SET @cont = 0
  8.  SELECT @fechafin = dateadd(DAY,-1,dateadd(MONTH,1,dateadd(DAY,1 - datepart(DAY,@Mifecha),@Mifecha)))
  9.  SELECT @nsemanas = datepart(ww,@fechafin)
  10.  - datepart(ww,dbo.dateserial(YEAR(@fechafin),MONTH(@fechafin),1))+1
  11.  SELECT @nsemanas
  12.  
  13.  

mediante el codigo que tengo hay saco el numero de semanas del mes que en este caso seria septiembre.....

Código: SQL
  1.  
  2.  CREATE FUNCTION [dbo].[DateSerial] (@Año SMALLINT, @Mes SMALLINT, @Dia SMALLINT)
  3. RETURNS smalldatetime
  4. AS BEGIN
  5.  
  6. DECLARE @sAn VARCHAR(4)
  7. DECLARE @sMe VARCHAR(2)
  8. DECLARE @sDi VARCHAR(2)
  9. DECLARE @Res smalldatetime
  10.  
  11. SET @san=CAST(@año AS VARCHAR(4))
  12. SET @sme=RIGHT('0'+CAST(@mes AS VARCHAR(2)),2)
  13. IF @dia=0
  14. BEGIN
  15.     SET @res=@san+@sme+'01'
  16.     SET @res=datediff(DAY,1,@res)
  17. END
  18.  
  19. ELSE
  20. BEGIN
  21.     SET @sdi=RIGHT('0'+CAST(@dia AS VARCHAR(2)),2)
  22.     SET @res=@san+@sme+@sdi
  23. END
  24. RETURN @res
  25. END
  26.  
  27.  

esta es la funcion para armar una fecha dando parametros....

Bueno el chiste de esto es el siguiente lo que pienso hacer es teniendo la informacion de las semanas hacer un while para coger el rango de fechas...

mi pregunta es la siguiente teniendo el año, semana y dia dentro de la semana se puede conocer la fecha.....

cualquier comentario sera bn recibida...

gracias de antemano....
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]