zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    四十五、android camera
    MyEclipse优化技巧
    设置MyEclipse编码、补全快捷键、字体大小
    妈妈走开一会儿
    四十一、Android Notification通知详解
    四十三、设置Activity永不过期,即不执行onDestroy()
    七、oracle 表查询二
    四十七、实现调用Android手机的拍照功能
    四十四、Android之android:layout_weight详解
    一、oracle 高水位线详解
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480565.html
Copyright © 2011-2022 走看看