Sqlserver日期函数datepart

返回代表指定日期的指定日期部分的整数。

看例子:

select datepart(year,getdate())
select datepart(quarter,getdate())
select datepart(month,getdate())
select datepart(dayofyear,getdate())
select datepart(day,getdate())
select datepart(week,getdate())
select datepart(weekday,getdate())
select datepart(Hour,getdate())
select datepart(minute,getdate())
select datepart(second,getdate())
select datepart(millisecond,getdate())
分别返回当前日期的年,季度,月,本年第几天,天,本年第几个星期,星期中的第几天,小时,分钟,秒,毫秒。

当然,也可以用缩写:

select datepart(yyyy,getdate())
select datepart(qq,getdate())
select datepart(mm,getdate())
select datepart(dy,getdate())
select datepart(dd,getdate())
select datepart(wk,getdate())
select datepart(dw,getdate())
select datepart(hh,getdate())
select datepart(mi,getdate())
select datepart(ss,getdate())
select datepart(ms,getdate())
这个函数非常有用,对日期字段进行分组统计,十分简单高效:

例如:按年度统计信息:

select datepart(year,日期) as rq,sum(金额) as je from 表
group by datepart(year,日期)
order by datepart(year,日期)
另外,sqlserver为了方便,还专门提供了year、month、day三个函数。

关于DATEFIRST

主要与返回星期的第几天有关,默认设定是星期日为一周的第一天,我们也可以更改:

设定周一为一周的第一天:

SET DATEFIRST 1
SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'

你可能感兴趣的:(sqlserver)