Translate

domingo, 24 de noviembre de 2013

SQL Server: Primer y último día del mes

Consulta para calcular el número de sesiones, así como la suma de las distancia y tiempo en las sesiones realizadas en el mes en curso para el usuario dado (este se pasa por parámetro a la consulta en @userID)

Declare @firstDayOfMonth varchar;
Set @firstDayOfMonth=Convert(varchar,DATEADD(d,-day(GetDate())+1,GetDate()),105);


Declare @LastDayOfMonth varchar;
Set@LastDayOfMonth = Convert(varchar,DATEADD(d,-day(GetDate()),DATEADD(m,1,GetDate())),105);


select COUNT(SessionID) As SesionsCant,
          SUM(Distance) as TotDist,
          CONVERT(char(8),CAST(SUM(CAST(Time As Float)*24 )AS DateTime),108 )As TotTime
from Sessions
where UserID=@userID 

           AND (  (CONVERT(varchar,Sessions.Date,105)>=@firstDayOfMonth )         
          AND     (CONVERT(varchar,Sessions.Date,105)<=@LastDayOfMonth )   );

No hay comentarios: