一尘不染

SQL Server服务器查询-计算不同的DateTime字段

sql

假设我们在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


阅读 144

收藏
2021-03-17

共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))
2021-03-17