Sql 当事情是真的时,有没有办法忽略和?
我有这个Where条款 但我需要一个额外的,应该被忽略,如果它的值是假的,我会想要所有的证书Sql 当事情是真的时,有没有办法忽略和?,sql,sql-server,tsql,case,Sql,Sql Server,Tsql,Case,我有这个Where条款 但我需要一个额外的,应该被忽略,如果它的值是假的,我会想要所有的证书 AND cc.industrial = CASE WHEN @industrial = 0 THEN Do Nothing Else @industrial 这通常表示为: AND (@industrial = 0 OR ccc.industrial = @industrial) 这通常表示为: AND (@industrial = 0 OR ccc.ind
AND cc.industrial = CASE WHEN @industrial = 0 THEN Do Nothing
Else @industrial
这通常表示为:
AND (@industrial = 0 OR ccc.industrial = @industrial)
这通常表示为:
AND (@industrial = 0 OR ccc.industrial = @industrial)
听起来您只是想添加一个谓词,在两个不同的条件之间进行OR运算
AND (@industrial = 0 or ccc.industrial = @industrial)
听起来您只是想添加一个谓词,在两个不同的条件之间进行OR运算
AND (@industrial = 0 or ccc.industrial = @industrial)
您可以使用CASE函数执行以下操作:
AND 1 = (CASE WHEN @industrial = 0 THEN 1
ELSE CASE WHEN cc.industrial = @industrial THEN 1 END
END)
或者,如果cc.industrial不可为空,则可能:
AND cc.industrial = CASE WHEN @industrial = 0 THEN cc.industrial
Else @industrial END
您可以使用CASE函数执行以下操作:
AND 1 = (CASE WHEN @industrial = 0 THEN 1
ELSE CASE WHEN cc.industrial = @industrial THEN 1 END
END)
或者,如果cc.industrial不可为空,则可能:
AND cc.industrial = CASE WHEN @industrial = 0 THEN cc.industrial
Else @industrial END
不要在where子句中使用大小写表达式,请坚持和/或相反。不要在where子句中使用大小写表达式,请坚持和/或相反。我想我们在这里被绊倒了,我想要所有值,如果@industrial是0@christopherclark这正是该条款的作用。如果为0,则其计算结果为true。如果它不是0,它会评估ccc.industrial是否等于该值,只有这样才是真的。哇,这是一个艰难的思考过程。谢谢,这确实奏效了。我想我们在这里被绊倒了,我想要所有的价值观,如果@industrial是的话0@christopherclark这正是该条款的作用。如果为0,则其计算结果为true。如果它不是0,它会评估ccc.industrial是否等于该值,只有这样才是真的。哇,这是一个艰难的思考过程。谢谢,这确实有效。