gpt4 book ai didi

sql - where子句中的位域

转载 作者:行者123 更新时间:2023-12-02 17:42:20 25 4
gpt4 key购买 nike

我有一种情况,我想在 where 子句中搜索一个字段,只有当位变量为 1 时,否则忽略它。

@Active bit = 0

select * from Foo where firstname = 'xyz' and

if(@active=1)

然后在 Active 列上搜索,否则忽略 Active 列上的过滤。我怎样才能在一个简单的条件下使用它而不是分别检查每个参数然后构建 where 子句

最佳答案

通常只需简单的逻辑就足够了:

select * from Foo where firstname = 'xyz' and
(@Active = 0 or Active = <filter condition>)

关于为任意搜索条件编写代码的一般建议,您可能比阅读 Erland Sommarskog 的 Dynamic Search Conditions in T-SQL 做得更糟

关于sql - where子句中的位域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19118492/

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