首页 > 解决方案 > 基于参数的可选“IS NULL”WHERE 子句

问题描述

我有一个带有WHERE子句的查询

WHERE [column1] = 'some value'
AND [column2] IS NULL

我想IS NULL根据参数使该部分成为可选的。

param1例如,如果提供了值,WHERE则应忽略该子句的这一部分。

AND [column2] IS NULL

编辑:

我不愿意使用动态 SQL,因为它会违背我这样做的目的。

有任何想法吗?

标签: sql-servertsql

解决方案


WHERE [column1] = 'some value'
AND (@param1 IS NOT NULL OR [column2] IS NULL)

如果设置了@param1,则第二个条件将始终评估为真,否则,它将检查 [column2] 是否为空


推荐阅读