sql如何取某年某月的第一天和最后一天
2011-09-14 10:34
393 查看
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
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
相关文章推荐
- Java获取某年某月的第一天和最后一天
- 获取某年某月的第一天和最后一天的Sql Server函数
- 如何用C#和SQL获得当前月的第一天和最后一天
- 如何用C#和SQL获得当前月的第一天和最后一天
- c# 如何获取某年某月的最后一天
- Java实现获取某年某月第一天/最后一天的方法
- 获取某年某月的第一天和最后一天的Sql Server函数
- SQL如何获得本季度第一天、一年的第一天、本月的最后一天等
- SQL如何获得本季度第一天、一年的第一天、本月的最后一天
- SQL如何获得本季度第一天、一年的第一天、本月的最后一天
- 获取某月第一天,最后一天的sql server脚本,SQL日期类型总结
- 如何用C#和SQL获得当前月的第一天和最后一天
- 把秒转换成分钟/返回某年某月最后一天返回时间差
- 如何得到指定日期(年,月,季度,周)第一天和最后一天
- 获取某月第一天,最后一天的sql server脚本
- Java获取某年第一天与最后一天时间方法
- SQL SERVER 2005中如何获取日期(一个月的最后一日、上个月第一天、最后一天、一年的第一日等等)
- SQL获取某年某个月份的最后一天
- 如何获Oracle 得某周的第一天和最后一天
- 如何得到某周,月的第一天和最后一天的日期