我正在使用 SQL Server 2008 Express,我有一个存储过程从表格中进行 SELECT
操作并根据参数进行筛选。我的参数类型包括 nvarchar
和 int
。
这是我的问题,我的 WHERE
子句如下:
WHERE [companies_SimpleList].[Description] Like @What
AND companies_SimpleList.Keywords Like @Keywords
AND companies_SimpleList.FullAdress Like @Where
AND companies_SimpleList.ActivityId = @ActivityId
AND companies_SimpleList.DepartementId = @DepartementId
AND companies_SimpleList.CityId = @CityId
这些参数是由我ASP.NET MVC 3应用程序的用户设置的过滤值,int
参数可能没有被设置,因此它们的值将为0。这就是我的问题,存储过程将搜索具有例如CityId
为0
的项目,并且为此返回错误结果。因此,如果能够根据int参数的值是否大于0来动态地生成where子句,那将很好。
提前致谢