sql日期动态调用的实用方法

可结合 ‘常用时间日期格式转换使用’ 其中包括内容不够完善有待补充(存储专用)

DECLARE @rq1 NVARCHAR(10) = CONVERT(varchar(100), GETDATE(), 111) -- 今日

DECLARE @rq2 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(dd,-DAY(@rq1)+1,@rq1) , 111) -- 月初

DECLARE @rq3 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(yy, DATEDIFF(yy,0,@rq1), 0), 111)  -- 年初

DECLARE @rq4 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(YEAR, -1, @rq3) , 111) -- 去年年初

DECLARE @rq5 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(YEAR, -1, @rq1) , 111) -- 去年今日

DECLARE @rq6 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(dd,-DAY(@rq5)+1,@rq5), 111) -- 去年本月月初

DECLARE @rq7 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(dd,-1,DATEADD(MONTH,+1,@rq6)), 111)-- 去年本月月末

DECLARE @rq8 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(qq,DATEDIFF(qq,0,@rq5),0), 111) -- 去年本季季初

DECLARE @rq9 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(dd,-1,DATEADD(qq,+1,@rq8)), 111)  -- 去年本季季末

DECLARE @rq10 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(qq,DATEDIFF(qq,0,@rq1),0), 111)  -- 本季季初

DECLARE @rq11 NVARCHAR(10) = CONVERT(varchar(100), DATEADD(dd,-1,DATEADD(qq,+1,@rq10)), 111) -- 本季季末

select @rq1 '今日',@rq2 '月初',@rq3 '年初',@rq4 '去年年初',@rq5 '去年今日',@rq6 '去年本月月初',

@rq7 '去年本月月末',@rq8 '去年本季季初',@rq9 '去年本季季末',@rq10 '本季季初',@rq11 '本季季末'

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容