--以2013-12-10 12:56:55为例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10--DATEPART(month,CreateDate) => 12--DATEPART(year,CreateDate) => 2013--还可以这样--年select datepart(YEAR,'2013-06-08')select datepart(yyyy,'2013-06-08')select datepart(yy,'2013-06-08')--月select datepart(MONTH,'2013-06-08')select datepart(mm,'2013-06-08')select datepart(m,'2013-06-08')--日select datepart(dd,'2013-06-08')--1年中的第多少天select datepart(dy,'2013-06-08')--季度select datepart(qq,'2013-06-08')--1年中的第多少周select datepart(wk,'2013-06-08')--星期select datepart(dw,'2013-06-08') 会输出 7select datepart(weekday, '2013-06-08') 会输出 7select datename(weekday, '2013-06-08') 会输出 星期六/* * 设置语言为英语 */set language N'English' --设置语言为英语select datename(weekday, '2013-06-08') 会输出 Saturday/* * 设置语言为简体中文 */set language N'Simplified Chinese' --设置语言为简体中文select datename(weekday, '2013-06-08') 会输出 星期六/* * 设置一周的第一天为星期一 */set datefirst 1 --设置一周的第一天为星期一(美国一周的第一天习惯为星期天)select datepart(weekday, '2013-06-08') 会输出 6/* * 设置一周的第一天为星期日 */set datefirst 7 --设置一周的第一天为星期日(美国一周的第一天习惯为星期天)select datepart(weekday, '2013-06-08') 会输出 7/* * 查询当前会话的 datefirst 设置值 */select @@datefirstSELECT CONVERT(VARCHAR(10),GETDATE(),120) --2015-07-13SELECT CONVERT(VARCHAR(10),GETDATE(),101) --07/13/2015--按日分组:2013-01-01select convert(nvarchar(10),CreateDate,120) as Times,ISNULL(sum(Unit),0.0) as Drinking from pdt_Outgroup by convert(nvarchar(10),CreateDate,120)go--按月分组:2012-01select DATEPART(month,CreateDate) as Times,sum(Unit) as Totals from pdt_Outgroup by DATEPART(month,CreateDate)go--按年分组:2013select DATEPART(year,CreateDate) as Times,sum(Unit) as Totals from pdt_Outgroup by DATEPART(year,CreateDate)go