Sql语句!获取上月初始时间到结束时间!
比如:2012-05-01:0:0:0(0时 0分 0秒)------2012-05-31 :23:59:59 (23时:59分:59分)
2012-06-01:0:0:0(0时 0分 0秒)-------2012-06-30 :23:59:59(23时:59分:59分)
获取:上月初开始时间到 上月的末时间 个获取
[解决办法]
--获取当前时间SELECT GETDATE();--获取当前时间“天”部分SELECT DATEPART(day,GETDATE());--获取本月第一天时间(当前日期减去本月已过的天数)SELECT CONVERT(varchar(10),GETDATE()-DATEPART(day,GETDATE())+1,120);--获取本月最后一天时间(本月第一天加一个月,再减一天)SELECT DATEADD(day,-1,DATEADD(month,1,CONVERT(varchar(10),GETDATE()-DATEPART(day,GETDATE())+1,120)));
[解决办法]
declare @t datetimeset @t = getdate()select convert(datetime,convert(varchar(7),dateadd(month,-1,@t),120)+'-01')
[解决办法]
23:59:59 这个是固定的。
可以做个连接字符串
后面+' 23:59:59'
懂了吗?
[解决办法]
SELECT DATEADD(Month,-1,CONVERT(datetime,CONVERT(char(8),getdate(),120)+'1'))SELECT DATEADD(Month,-1,DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,getdate()),120)+'1'))
[解决办法]
--获取本月第一天时间(当前日期减去本月已过的天数)
SELECT CAST(CONVERT(varchar(10),GETDATE()-DATEPART(day,GETDATE())+1,120) AS datetime); --看结果
--获取本月最后一天时间(本月第一天加一个月,再减一秒)
SELECT DATEADD(second,-1,DATEADD(month,1,CONVERT(varchar(10),GETDATE()-DATEPART(day,GETDATE())+1,120))); --看结果
[解决办法]
--获取本月第一天时间(当前日期减去本月已过的天数)SELECT CAST(CONVERT(varchar(10),GETDATE()-DATEPART(day,GETDATE())+1,120) AS datetime); --看结果--获取本月最后一天时间(本月第一天加一个月,再减一秒)SELECT DATEADD(second,-1,DATEADD(month,1,CONVERT(varchar(10),GETDATE()-DATEPART(day,GETDATE())+1,120))); --看结果
[解决办法]
要注意要动动脑筋。。
[解决办法]
SELECT DATEADD(Month,-1,CONVERT(datetime,CONVERT(char(8),getdate(),120)+'1'))SELECT DATEADD(Month,-1,DATEADD(s,-1,CONVERT(char(8),DATEADD(Month,1,getdate()),120)+'1'))