Imaginemos que tenemos una tabla ArticleIds que contiene un campo CreationDate definido como datetime con valor predeterminado = getDate( ), y queremos averiguar cuántos registros se han creado cada día entre las 9:00 y las 12:00:
Sentencia SQL:
SELECT t.Fecha, COUNT(*) AS Cuenta FROM (
SELECT CONVERT(CHAR(10), creationDate , 103) AS Fecha, CONVERT(CHAR(8), creationDate , 114) as Hora
FROM [AESQL2008].[dbo].ArticleIds
WHERE CONVERT(CHAR(5), creationDate , 114) > '09:00' AND CONVERT(CHAR(5), creationDate , 114) < '12:00'
) t
GROUP BY t.Fecha
ORDER BY t.Fecha
Resultado:
Fecha Cuenta
04/17/2013 113
04/18/2013 1050
04/19/2013 8278
04/20/2013 1889
04/22/2013 1936
04/23/2013 1269
04/24/2013 235
Exinten otras maneras de hacer lo mismo (p.e. utilizando DATEADD como se explica aquí) pero ésta quizás es la más simple.
No hay comentarios:
Publicar un comentario