create procedure Test1
@FromTime datetimeas 
begindeclare @SQL varchar(8000)set @SQL=' select * from BB_MsgSchedule where TimeToSend>='+convert(varchar(100), @FromTime)
exec (@SQL)endexec Test1 '2006-01-01 0:00:00'错误:
Server: Msg 170, Level 15, State 1, Line 1
第 1 行: '1' 附近有语法错误。

解决方案 »

  1.   

    少了"'",改正后的如下:create procedure Test1
    @FromTime datetimeas 
    begindeclare @SQL varchar(8000)set @SQL=' select * from BB_MsgSchedule where TimeToSend>=''+convert(varchar(100), @FromTime) + '''
    exec (@SQL)
    endexec Test1 '2006-01-01 0:00:00'
      

  2.   

    set @SQL=' select * from BB_MsgSchedule where TimeToSend>='''+convert(varchar(100), @FromTime)+'''
      

  3.   

    exec Test1 '2006-01-01 00:00:00.000'
      

  4.   

    上面有问题Sql应是如下的:set @SQL=' select * from BB_MsgSchedule where TimeToSend>='''+convert(varchar(100), @FromTime) + ''''