sql语句中有没有取一个月的第一天跟最后一天的函数啊,请大家多帮忙。急用,非常感谢!

解决方案 »

  1.   

       1. --获得当月天数  
       2. select day(dateadd(mm,1,getdate())-day(getdate())) as 本月天数 ;  
       3.   
       4. select getdate() as 当前日期;  
       5.   
       6. select day(getdate()) as 目前第几天;  
       7.   
       8. select getdate()-day(getdate())  as 上个月最后一天; -- 减去了当前的天数  
       9.   
      10. select dateadd(mm,1,getdate())-day(getdate()) as 加上一个月; -- 也就是这个月的最后一天  
      11.   
      12. select day(dateadd(mm,1,getdate())-day(getdate())) as 获得当月天数;  http://www.java2000.net/p15317
      

  2.   

    普通的SQL语句中,估计没有这样的函数,
    不过通过T-SQL及PL/SQL中的一些时间函数的组合可以得到LZ要的结果。下面是T-SQL的例子,适用于SQLServer数据库,至于其他数据库,只需找到相应的函数语句进行替换即可:本月的第一天:
    SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)本月的最后一天:
    SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))以上两个算法均经过简单测试:如果要计算任意一个月的相应结果的话,则利用T-SQL的函数,将getdate()替换成相应的月份的日期即可。以上算法的分析及更多SqlServer日期函数的内容可以参考下面这篇帖子:
    http://blog.csdn.net/bingg/archive/2008/06/20/2568497.aspx