select
cast(cast(year(getdate())as char(4))+'/'+cast(month(getdate()) as char(2))+'/01' as datetime)as firstDate,
dateadd(d,-1,cast(cast(year(getdate())as char(4))+'/'+cast(month(dateadd(m,1, getdate())) as char(2))+'/01' as datetime)) as lastDate
cast(cast(year(getdate())as char(4))+'/'+cast(month(getdate()) as char(2))+'/01' as datetime)as firstDate,
dateadd(d,-1,cast(cast(year(getdate())as char(4))+'/'+cast(month(dateadd(m,1, getdate())) as char(2))+'/01' as datetime)) as lastDate
月初 月末
2005-07-01 2005-07-31*/
select dateadd(mm, datediff(mm, '1901-01-01', getdate()), '1901-01-01')
,dateadd(dd, -1, dateadd(mm, 1+datediff(mm, '1901-01-01', getdate()), '1901-01-01'))
我的SQL水平
实在是烂啊 呵呵
学习
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
--本月末
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
--结果
------------------------------------------------------
2005-07-01 00:00:00.000(所影响的行数为 1 行)
------------------------------------------------------
2005-07-31 23:59:59.997(所影响的行数为 1 行)