假设我们在SQL Server表中有以下记录。
Date 19/5/2009 12:00:00 pm 19/5/2009 12:15:22 pm 20/5/2009 11:38:00 am
得到这样的东西的SQL语法是什么?
日期 计数 19/5/2009 2 20/5/2009 1
您需要对日期字段的“仅日期”版本进行任何分组,例如这样。
SELECT CONVERT(VARCHAR(10), YourDateColumn, 101), COUNT(*) FROM YourTable GROUP BY CONVERT(VARCHAR(10), YourDateColumn, 101)
我通常这样做,因为它避免了转换为varchar。
SELECT DATEPART(yy, YourDateColumn), DATEPART(mm, YourDateColumn), DATEPART(dd, YourDateColumn), COUNT(*) FROM YourTable GROUP BY DATEPART(yy, YourDateColumn), DATEPART(mm, YourDateColumn), DATEPART(dd, YourDateColumn)
编辑:获取日期时间中日期部分的另一种方法
DATEADD(d, 0, DATEDIFF(d, 0, YourDateColumn))