create sp_listDate
@startDate datetime,
@enDate    datetime
as
......exec sp_listDate  'dateadd(day,1,getdate())','getdate()'
提示数据类型varchar装换为datetime是出错。
dateadd返回日期,getdate也返回日期为什么会出现装换错误?

解决方案 »

  1.   

    exec sp_listDate dateadd(day,1,getdate()),getdate()
      

  2.   


    exec sp_listDate (dateadd(day,1,getdate())),getdate()
    dateadd附近有语法错误。declare @date1 datetime,
     @date2 datetime
    set date1='dateadd(day,1,getdate())'
    set date2='dateadd(day,1,getdate())'
    exec sp_listDate  '@date2','@date1'
    等号附近有语法错误
      

  3.   


    declare @startDate datetime,@enddate datetime
    select @startdate = getdate(),
           @enddate = dateadd(day,+1,getdate())exec sp_listDate @startdate,@enddate
      

  4.   


    依然错误,dateadd附近有语法错误。
    记得有这么一说exec{里边不能用变量}
    估计要直接写数字的吧。
      

  5.   

    楼主,把调用存储过程的语句中,参数的单引号给去掉吧。代码如下:
    exec sp_listDate dateadd(day,1,getdate()),getdate()
      

  6.   

    exec sp_listDate dateadd(day,1,getdate()),getdate()
    单引号表示字符串,你用单引号括起来穿进去的字符串
      

  7.   

    exec sp_listDate dateadd(day,1,getdate()),getdate()这样传参数不行吧?!  
      

  8.   

    exec sp_listDate cast(dateadd(day,1,getdate()) as datetime),getdate()