標簽: 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