一个数据表:t_date字段:
id        t_datefrom         t_dateto
1         2006-8-15          2006-9-15
2         2006-9-1           2006-9-30
.......
如何用一个select语句取出下面的结果:取出属于9月的天数和这个月份的总天数,例如:第一个条的天数是15天,9月的总天数是30天。也就是得到下面的数据:id      datenum     datesum
1        15           30
2        30           30
.....
请问如何用一个sql语句表示出来,谢谢!

解决方案 »

  1.   

    SELECT     id, DATEDIFF(day, t_datefrom, '2006-9-30') AS diff
    FROM         DateTest
      

  2.   

    个人觉得要用存储过程来作了,你不是要根据某一个月来判断吗???
    用.net来作可能会稍微简单点吧
      

  3.   

    而我只想得到9-1到9-15号的天数15天。
    select DAY ( t_dateto )  from DateTest
      

  4.   

    后面的 datesum 列值就不太好得到的,怎么样根据月份来得到这个月有多少天呢???
      

  5.   

    关键是得到指定月有多少天啊,在sql里好像不能直接得到某一个月份的天数。
    在.net里倒可以,用
    int Days = DateTime.DaysInMonth(
       int year,
       int month
    )就可以