Sqlserver查询

时间:2012-07-11 05:35:02

标签: sql-server

我需要在查询中检查Member_Codemember_nameDesignation。如果用户仅提供member_Code查询,则应将所有记录都依赖于member_code,或者用户提供member_codemember_Name使记录取决于代码和名称。我在sql server中使用了多个if和else if。

我需要对这种情况进行完美查询。

3 个答案:

答案 0 :(得分:1)

您可以在SQLSERVER中使用LIKE

尝试这样的事情

SELECT       *
FROM            table
WHERE        (Member_Code LIKE + '%' + @Member_Code+ '%') OR
                         (member_name LIKE + '%' + @member_name+ '%') OR
                         (Designation LIKE + '%' + @Designation + '%') 

答案 1 :(得分:0)

鉴于缺乏信息,这是我能做的最好的事情。

尝试类似

的内容
SELECT  *
FROM    [Table]
WHERE   (
                Member_Code = @Member_Code 
            AND @member_name IS NULL
        )
OR      (
                Member_Code = @Member_Code 
            AND member_name LIKE '%' + @member_name + '%'
        )

答案 2 :(得分:0)

这是您可能需要的

select 
    columns 
from 
    your_table
where 
    (Member_Code=@Member_Code or @Member_Code is null) and
    (member_name=@member_name  or @member_name  is null) and 
    (Designation=@Designation  or @Designation is null)