【发布时间】:2011-04-04 22:58:42
【问题描述】:
我从查询字符串中传递了两个变量(我验证了它们正在发送正确的值,比如说 ?mon=4&year=11)。当我尝试运行此查询时,它不返回任何结果。
@month varchar,
@year varchar
AS
Select *
From evn
Where (Month(EventDate) = Month(@month + '/1/11') AND Year(EventDate) = Year('1/1/' + @year))
Order By EventDate ASC
但如果我改变我的去向
Where (Month(EventDate) = Month(@month + '/1/11') AND Year(EventDate) = Year('1/1/11'))
它工作得很好,所以我假设我的语法不正确。正如我所说,我已经检查以确保查询字符串返回正确的值,但仍然没有。对此有什么帮助吗?我正在使用 SQL Server 2005,谢谢
【问题讨论】:
-
@year 可能设置不正确。尝试将 select 更改为
select @month, @year并查看它返回的内容。
标签: sql sql-server-2005