Roy*_*ish 1 sql sql-server-2005
我有一个数据集,我想过滤掉满足特定条件的行,但是它比我想象的要复杂得多.
基本上我想做的事情是这样一种WHERE (column1 NOT LIKE 'Z%' and column2 != '2')观点,即查询只会返回一行,其中某一特定行没有像column1中的'Z%'那样的值,并且在column2 中没有值'2' .
例如:
完整的数据集
column1 | column2
-----------------
ACAL | 2
-----------------
ZVBBU3 | 2
-----------------
FSKE2 | X
Run Code Online (Sandbox Code Playgroud)
我想要的数据集
column1 | column2
-----------------
ACAL | 2
-----------------
FSKE2 | X
Run Code Online (Sandbox Code Playgroud)
但是,它没有这样做.所以,我想有可能是一个编程方法类似WHERE (!(column1 LIKE 'Z% and column2 = '2')),其中!将返回指定标准的对面,但是,这将引发一个语法错误.有没有办法做我想做的事情?
你可能想要这个:
WHERE NOT (column1 LIKE 'Z%' AND column2 = '2')
Run Code Online (Sandbox Code Playgroud)
你是在正确的轨道上否定,但应该NOT用来否定而不是!.
注意
WHERE (COLUMN1 NOT LIKE 'Z%') OR (COLUMN2 != '2')
Run Code Online (Sandbox Code Playgroud)
结合的否定是否定的分离.
分离的否定是否定的结合.