SQL server 查询当前时间的上月16日8点到下月16日8点的数据

--sql 查询当前时间的上个月16号8点到下一个月的16号8点数据
--大于如下时间
select (case when GETDATE() < CONVERT(varchar(7),GETDATE(),120)+'-16 08:00:00'
			then CONVERT(varchar(7),DATEADD(Month,-1,GETDATE()),120)
			else CONVERT(varchar(7),GETDATE(),120)
			end)+'-16 08:00:00'
--小于如下时间
select (case when GETDATE() < convert(varchar(7),GETDATE(),120)+'-16 08:00:00'
			then CONVERT(varchar(7),GETDATE(),120)
			else CONVERT(varchar(7),DATEADD(Month,1,GETDATE()),120)
			end)+'-16 08:00:00'	

总结:计算当前时间的上个月多少号几点到下一个月多少号几点之间的数据,可以使用如上的语句进行查询。

上面的语句主要是使用了Convert()函数,case when条件判断等语句进行条件判断以及字符串的拼接,来实现查询。

你可能感兴趣的:(sql,server,数据查询,sql,数据库,database)