sql分别用日期、月、年 分组 group by 分组,datepart函数

标签: datepart函数sql分别用日期月年 分组group by 分组 2013-12-26 15:31 20764人阅读 评论(1) 收藏 举报 分类: SQL Server(21) 版权声明:本文为博主原创文章,未经博主允许不得转载。 [sql] view plain copy --以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') 会输出 7 select datepart(weekday, '2013-06-08') 会输出 7 select 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 @@datefirst SELECT CONVERT(VARCHAR(10),GETDATE(),120) --2015-07-13 SELECT CONVERT(VARCHAR(10),GETDATE(),101) --07/13/2015 --按日分组:2013-01-01 select convert(nvarchar(10),CreateDate,120) as Times,ISNULL(sum(Unit),0.0) as Drinking from pdt_Out group by convert(nvarchar(10),CreateDate,120) go --按月分组:2012-01 select DATEPART(month,CreateDate) as Times,sum(Unit) as Totals from pdt_Out group by DATEPART(month,CreateDate) go --按年分组:2013 select DATEPART(year,CreateDate) as Times,sum(Unit) as Totals from pdt_Out group by DATEPART(year,CreateDate) go
原文地址:https://www.cnblogs.com/lvdongjie/p/7514411.html