如何使用case语句检查搜索参数

时间:2016-02-17 09:11:27

标签: sql-server-2008

我的桌子上有20多个栏目。我在C#下拉列表中有超过10个搜索字段。当用户搜索时,我从下拉列表中传递搜索字段并从文本框中搜索关键字。在SQL Server中,我想检查选择的搜索字段如下:

let injector: Injector = appInjector(); // get the stored reference to the injector
let auth: Auth = injector.get(Auth); //get the service from the injector

有可能吗?

当我执行它时,我尝试了它而不起作用。 请帮忙。

此致 NNA

1 个答案:

答案 0 :(得分:0)

使用=OR / AND代替CASE

SELECT * FROM TB_Persons PER
WHERE
      ( @SearchField = 'Name'       AND PER.Name       = @Keywords )
  OR  ( @SearchField = 'Age'        AND PER.Age        = @Keywords )
  OR  ( @SearchField = 'PassportNo' AND PER.PassportNo = @Keywords )
.....