gpt4 book ai didi

SQL 帮助 - 基于 BIT 变量的条件 where 子句 - SQL Server

转载 作者:行者123 更新时间:2023-12-02 10:49:08 25 4
gpt4 key购买 nike

我需要帮助编写条件 where 子句。这是我的情况:

我有一个位值,用于确定在 select 语句中返回哪些行。如果值为 true,我需要返回 import_id 列不为 null 的行,如果值为 false,则我需要返回 import_id 列为 null 的行。

我对此类查询的尝试(如下)似乎不起作用,完成此操作的最佳方法是什么?


DECLARE @imported BIT

SELECT id, import_id, name FROM Foo WHERE
(@imported = 1 AND import_id IS NOT NULL)
AND (@imported = 0 AND import_is IS NULL)

谢谢。

最佳答案

AND更改为OR

DECLARE @imported BIT

SELECT id, import_id, name FROM Foo WHERE
(@imported = 1 AND import_id IS NOT NULL)
OR (@imported = 0 AND import_is IS NULL)

分解你的原始陈述

你基本上已经写了

    @imported = 1 
AND import_id IS NOT NULL
AND @imported = 0
AND import_is IS NULL

这相当于

    @imported = 1 AND @imported = 0 
AND import_id IS NOT NULL AND import_is IS NULL

什么会导致两对子句完全否定对方

关于SQL 帮助 - 基于 BIT 变量的条件 where 子句 - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/626870/

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