具有多个可选搜索参数的 sql 搜索查询

2021-09-10 00:00:00 sql tsql sql-server

我在 sql 2008 中有一个查询,其中用户可以选择多个可选参数,如下所示:

I have a query in sql 2008 where a use can select multiple optional parameters like these:

@DateFrom
@DateTo
@UserType
@Customer
@User

基于所有这些选项进行过滤的最佳/最高效方法是什么?

What's the best / most performant approach to filtering based on all of these options?

  • 针对不同情况的单独选择语句
  • 使用合并

推荐答案

使用这种方法可以避免使用多个 IF ELSE 条件和动态查询.

You can avoid using multiple IF ELSE condition and dynamic query by using this approach.

SELECT * FROM TBL
WHERE (@Name IS NULL OR Name = @Name) 
AND (@Age IS NULL OR Age = @Age)

相关文章