声明标量变量?

时间:2012-01-31 16:18:25

标签: sql

我正在尝试生成一个基于sql查询的报告,该报告允许插入日期范围,以便选择可用的数据。

我遇到的问题是,当我尝试这个时,我收到错误:

  

必须声明标量变量“@DateFrom”。

我使用的sql如下:

SELECT
  [Cost Category ID]
FROM 
   SRVS.dbo.PACostCategories
WHERE
    (@DateFrom IS NULL OR alias.myDate>= @DateFrom) AND
    (@DateTo IS NULL OR alias.MyDate < DATEADD(d, 1, @DateTo))

任何能让我朝着正确方向前进的指示都非常感激。

2 个答案:

答案 0 :(得分:4)

在尝试运行查询之前,必须声明变量。您需要执行以下操作才能使其正常工作:

DECLARE @DateFrom datetime
DECLARE @DateTo datetime

SET @DateFrom = yourDateFromValue
SET @@DateTo= yourDateToValue

SELECT [Cost Category ID]
FROM  SRVS.dbo.PACostCategories
WHERE (@DateFrom IS NULL OR alias.myDate>= @DateFrom) AND
      (@DateTo IS NULL OR alias.MyDate < DATEADD(d, 1, @DateTo))

答案 1 :(得分:1)

您需要的唯一方向和答案 - 为查询提供变量

或者您在调用查询时遇到拼写错误。