我需要检查Member_Code
和member_name
查询Designation
。如果用户只给member_Code
查询应该带所有记录依赖member_code
,或者用户给member_code
和member_Name
带记录依赖于代码和名称。我在 sql server 中使用了多个 if 和 else if。
对于这种情况,我需要完美的查询。
我需要检查Member_Code
和member_name
查询Designation
。如果用户只给member_Code
查询应该带所有记录依赖member_code
,或者用户给member_code
和member_Name
带记录依赖于代码和名称。我在 sql server 中使用了多个 if 和 else if。
对于这种情况,我需要完美的查询。
您可以LIKE
在 SQLSERVER中使用
尝试这样的事情
SELECT *
FROM table
WHERE (Member_Code LIKE + '%' + @Member_Code+ '%') OR
(member_name LIKE + '%' + @member_name+ '%') OR
(Designation LIKE + '%' + @Designation + '%')
鉴于缺乏信息,这是我能做的最好的事情。
尝试类似的东西
SELECT *
FROM [Table]
WHERE (
Member_Code = @Member_Code
AND @member_name IS NULL
)
OR (
Member_Code = @Member_Code
AND member_name LIKE '%' + @member_name + '%'
)
这是您可能需要的
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)