Wednesday, December 11, 2013

Cuántos domingos hay en un rango de fecha - Query

La pregunta es cómo determinar, dado un rango de fechas, cuántos días domingos hay.
SQL Server no tiene una función propia como tal, así que podemos utilizar la siguiente
función la cual le enviamos el rango de fechas. 
 
 
 CREATE FUNCTION fncCuantosDomingosHay (@inicio DATETIME, @fin DATETIME)
  RETURNS integer
  AS
  BEGIN
  DECLARE @dia_sem INT
  DECLARE @domingos INT
  DECLARE @fecha datetime
   
  SET @fecha=@inicio
  SET @domingos=0
  while @fecha <= @fin
  BEGIN    
   SELECT @dia_sem=datepart(weekday,@fecha) 
   IF @dia_sem=1
     SET @domingos=@domingos+1    
   SELECT @fecha=dateadd(dd,1,@fecha)     
  END
  return @domingos
    END


--EJECUTAMOS LA FUNCIÓN

declare @total integer

exec @total= fncCuantosDomingosHay '2013/10/16','2013/11/15'

print @total

--Resultado: 4

Thursday, December 5, 2013

Primer y último día de la fecha actual / vb.net

Se busca colocar por defecto la fecha con el primer día del mes actual y el último día propiamente al control DateTimePicker.

Me.dtpCierreExitosoDE.Value = Date.Now.AddDays(-Now.Day + 1)
Me.dtpCierreExitosoAL.Value = Date.Now.AddDays(-Now.Day + 1).AddMonths(1).AddDays(-1)
 
Sencillo, no?
 
HaPPy Coding =)