入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2013-12-26 投稿人: 浏览次数:28497

--以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


--当前日期减一
SELECT DATEADD(dd,-1,GETDATE())


--当前日期减一(格式为:2018-01-01)
SELECT CONVERT(NVARCHAR(10),DATEADD(dd,-1,GETDATE()),120) 


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。