关于sql语句where限定条件不等号不生效
同事写代码的时候,写了一句这个代码,如下
SELECT dataitem1,dataitem2,dataitem3 FROM outwaySetting where dataitem1 != 'tiaojian1' OR dataitem1 != 'tiaojian2' OR dataitem1 != 'tiaojian3'
本意本来是想过滤掉符合条件1,或符合条件2,或符合条件3的数据项,但是实际运行的时候,没有生效,查完资料之后意识到
在 SQL 中,WHERE 子句中的条件是通过逻辑运算符 AND 和 OR 连接的。当你使用 OR 运算符时,只要其中一个条件为真,整个表达式就为真。这意味着即使 dataitem1 是 ‘tiaojian1’、‘tiaojian2’ 或 ‘tiaojian3’ 中的一个,只要它不是另一个值,记录就会被选中。
如果你想要排除所有这些特定的 twoCode 值,你应该使用 AND 运算符来组合这些条件,并且每个条件都应该使用 != 运算符。这样,只有当 twoCode 不等于这些值时,记录才会被选中。