*--* 定义变量
declare @datetim date set @datetim = getdate()
*--* eomonth函数求日期月份最后一天日期(sql 2012)
SELECT EOMONTH (GETDATE()) --EOMONTH (@data, @num) num传入数值对应当前月份+num的月份
*--* 获取当前年、月、日
select year(getdate()) select month(getdate()) select day(getdate())
*--* DATEDIFF() 函数
select DATEDIFF(yy,'1900-01-01',getdate())--当前时间与1900-01-01差值(yy 单位年)
*--* DATEADD() 函数在日期中添加或减去指定的时间间隔
select DATEADD(mm,1,getdate())--mm表示月,结果为下一月份的当前时间
select dateadd(dd,-day(getdate())+1,getdate())--当前月份第一天 select DATEADD(mm, DATEDIFF(m,0,getdate()), 0)--当前月份第一天时分秒为00:00:00.000 select dateadd(dd,-day(getdate()),getdate()) --上月份最后一天 select dateadd(mm, 1, dateadd(dd,-day(getdate())+1,getdate()))-1 --本月份最后一天 SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))--本月最后一天 时分秒为23:59:59.997