sql分别用日期、月、年 分组 group by 分组,datepart函数
--以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)
--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
--当前日期减一
SELECT DATEADD(dd,-1,GETDATE())
--当前日期减一(格式为:2018-01-01)
SELECT CONVERT(NVARCHAR(10),DATEADD(dd,-1,GETDATE()),120)
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: C# System.IO.Directory、System.IO.File文件操作
- 下一篇:没有了