假设我们在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语法是什么?
日期计数
2009年5月19日2
2009年5月20日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))