您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页sql如何取某年某月的第一天和最后一天

sql如何取某年某月的第一天和最后一天

来源:华佗小知识

sql如何取某年某月的第一天和最后一天

SELECT CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)
--第一天
SELECT DATEADD(DAY,-1,DATEADD(MONTH,1,CAST((LEFT('20093',4)+'-'+SUBSTRING('20093',5,LEN('20093'))+'-'+'01') AS DATETIME)))
--最后一天

原理:第一天肯定是1号拉 ,最后一天是下个月第一天减一天

 

 

【数据所在服务器】本月的第一天和最后一天:

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate()), 0)) as mouthfirstdate,dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate

===============================最后一天=====================================

本月【数据所在服务器】最后一天:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate

 下月【数据所在服务器】最后一天:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+2, 0)) as mouthlastdate

 下下月【数据所在服务器】最后一天:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+3, 0)) as mouthlastdate

下下下月【数据所在服务器】最后一天:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+4, 0)) as mouthlastdate

下下下月【数据所在服务器】最后一天:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+5, 0)) as mouthlastdate

下下下下月【数据所在服务器】最后一天:

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+6, 0)) as mouthlastdate

 ===============================第一天=====================================

本月第一天

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate()), 0)) as mouthlastdate

下月第一天:

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as mouthlastdate

下下月第一天:

SELECT dateadd(ms,-1,DATEADD(mm, DATEDIFF(m,0,getdate())+2, 0)) as mouthlastdate

 

转载于:https://www.cnblogs.com/heartstill/archive/2011/09/14/2175507.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务