gpt4 book ai didi

sql - SQL Server中使用三元函数判断NULL | NOT NULL 基于位?

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:29 25 4
gpt4 key购买 nike

假设我有一个存储过程的输入参数@flag

我想根据此标志的值,根据某些列 col1 为空来过滤我的查询。

假设 @flag = 1,只显示 col1 IS NULL 的记录,如果 @flag = 0,只显示 的记录code>col1 不是 NULL

我的直觉会引导我这样做:

select * 
from table1
where col1 IS IIF(@flag = 1, NULL, NOT NULL);

这确实编译。有没有其他简洁的方法可以做到这一点?

最佳答案

即使您的查询可以编译,我也怀疑它是否会起作用。但是你可以用 bool and/or 逻辑来做到这一点

select * from table1 
where (@flag = 1 and col1 IS NULL)
or (@flag = 0 and col1 IS NOT NULL)

关于sql - SQL Server中使用三元函数判断NULL | NOT NULL 基于位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38600731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com