对不起,更正一下,上面的语句应该是(CAST(DATEPART(yy, 
      ReportDate) AS nvarchar(10)) + N'-' + CAST(DATEPART(mm, ReportDate) 
      AS nvarchar(10)) = CAST(DATEPART(yy, @ReportDate) AS nvarchar(10)) 
      + N'-' + CAST(DATEPART(mm, @ReportDate) AS nvarchar(10)))

解决方案 »

  1.   

    @ReportDate
    此参数没有创建
      

  2.   

    在分析器中没有出现如下提示吗?服务器: 消息 137,级别 15,状态 1,行 1
    必须声明变量 '@ReportDate'。
      

  3.   

    声明变量 '@ReportDate'了吗?
      

  4.   

    "(CAST(DATEPART(yy, ReportDate) AS nvarchar(10)) + N'-' + CAST(DATEPART(mm,     ReportDate) AS nvarchar(10)) = 
     CAST(DATEPART(yy, @ReportDate) AS nvarchar(10)) + N'-' + CAST(DATEPART(mm,    @ReportDate) AS nvarchar(10)))"
    如果这SQL是你粘贴的话,那么你有个地方错了。你少了一个“;”
    如果不是,那你定义了参数,但你给它赋值了吗
      

  5.   

    @ReportDate已经声明了,并且已经赋值了
    我的问题已经换了一种方式解决了,但是我还是不甘心,这样写问题到底出在什么地方,难道不能这样引用参数