如何按date时间列进行分组,而不考虑时间

我有一堆产品订单,我试图根据date进行分组并计算该date的数量。 我怎么能不按月份/日/年分组呢?

3/8/2010 7:42:00应与3/8/2010 4:15:00分组

将值转换/转换为您的群组的Datetypes。

 GROUP BY CAST(myDateTime AS DATE) 
 GROUP BY DATEADD(day, DATEDIFF(day, 0, MyDateTimeColumn), 0) 

或者在SQL Server 2008之后,你可以简单地将@Ddedbuild议的Date转换为Date

 GROUP BY CAST(orderDate AS DATE) 

在Sql 2008之前通过取出date部分:

 GROUP BY CONVERT(CHAR(8),DateTimeColumn,10) 

这里有一个例子,当我需要计算特定date没有时间部分的logging数时,我使用了这个例子:

 select count(convert(CHAR(10), dtcreatedate, 103) ),convert(char(10), dtcreatedate, 103) FROM dbo.tbltobecounted GROUP BY CONVERT(CHAR(10),dtcreatedate,103) ORDER BY CONVERT(CHAR(10),dtcreatedate,103) 

这里的例子在oracle中工作正常

 select to_char(columnname, 'DD/MON/yyyy'), count(*) from table_name group by to_char(createddate, 'DD/MON/yyyy');