SQL HELP – 基于BIT变量的条件where子句 – SQL Server
发布时间:2020-12-12 08:52:30 所属栏目:MsSql教程 来源:网络整理
导读:我需要帮助编写条件where子句.这是我的情况: 我有一个值可以决定在select语句中返回哪些行.如果值为true,我需要返回import_id列不为空的行,如果为false,那么我想要import_id列为空的行. 我尝试这样的一个查询(下面)似乎不起作用,最好的方法是什么? DECLARE
我需要帮助编写条件where子句.这是我的情况:
我有一个值可以决定在select语句中返回哪些行.如果值为true,我需要返回import_id列不为空的行,如果为false,那么我想要import_id列为空的行. 我尝试这样的一个查询(下面)似乎不起作用,最好的方法是什么? 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更改为ORDECLARE @imported BIT SELECT 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 什么导致两对完全否定对方的条款 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |