sql-server - 基于参数的可选“IS NULL”WHERE 子句
问题描述
我有一个带有WHERE
子句的查询
WHERE [column1] = 'some value'
AND [column2] IS NULL
我想IS NULL
根据参数使该部分成为可选的。
param1
例如,如果提供了值,WHERE
则应忽略该子句的这一部分。
AND [column2] IS NULL
编辑:
我不愿意使用动态 SQL,因为它会违背我这样做的目的。
有任何想法吗?
解决方案
WHERE [column1] = 'some value'
AND (@param1 IS NOT NULL OR [column2] IS NULL)
如果设置了@param1,则第二个条件将始终评估为真,否则,它将检查 [column2] 是否为空
推荐阅读
- python - Sympify“<”在自定义函数中不返回布尔值?
- python - 组的标准差返回 null
- jquery - 字体很棒的 unicode 不适用于 5.11.2 版
- html - 以角度添加涉及标志和媒体查询的类
- bluetooth-lowenergy - Android上的BLE(蓝牙低功耗),创建并重新连接到并不总是存在的设备
- ios - 带有 UIBlurEffect 的 Swift UIVisualEffectView 不起作用
- c# - 我的面板上有几层图纸
- c# - Visual Studio 2015,为没有 Visual Studio 扩展的 postgresql 创建 .edmx 文件
- apache-flink - 并行度大于 1 的 Flink 广播状态
- php - MSSQL INSERT EVENT 并使用 php 捕获事件