以下语言句早SQL Server 2000下运行正常 在SQL班SERVRE 2005 下运行报告datetime列差别导致运算时溢出错误
select * from Table where datediff(ss,getdate(),计划时间))
其中计划内时间为 smalldate型

解决方案 »

  1.   

    转换一下?
    select * from Table where datediff(ss,getdate(),convert(datetime,计划时间,112))) 
      

  2.   

    --> 不是SQL版本的问题,而是2005中的计划时间跨度太大,导致int溢出select datediff(ss,'1753-01-01','9999-12-31')/*
    消息 535,级别 16,状态 0,第 2 行
    两个 datetime 列的差别导致了运行时溢出。*/
      

  3.   

    select * from Table where datediff(ss,getdate(),计划时间)) >0
      

  4.   

    datediff(ss,getdate(),计划时间)) --沒有條件,2000/05都是錯datediff(ss,getdate(),计划时间))>50--這樣