大家看看我这个sql 写的有什么问题
我是想得到两个日期之间相差的月数
select DateDiff(month,2005-11-01,getdate())  as '时间差别',getdate()
结果是
1214 2006-08-19 22:39:32.450
当前日期不可能相差那么多的
那里错了

解决方案 »

  1.   

    select DateDiff(month,'2005-11-01',getdate())  as '时间差别',getdate()
      

  2.   

    select DateDiff(month,'2005-11-01',getdate())  as '时间差别',getdate()
    select DateDiff(month,2005-11-01,getdate())  as '时间差别',getdate()
    select cast (2005-11-01 as datetime)
    执行结果分别是
    9 2006-08-20 07:48:45.217
    1214     2006-08-20 07:48:45.217 1905-06-17 00:00:00.000现在知道为什么了吧
      

  3.   

    SQL Server中对于日期型常量,需要用单引号分隔。
      

  4.   


    Select Cast(2005-11-01 As Datetime)
    Select Cast('2005-11-01' As Datetime)1905-06-17 00:00:00.000
    2005-11-01 00:00:00.000;)