我无法找到答案,因为搜索mysql NOT在google中是一场噩梦(即使有引号)。
我需要进行这样的查询:
SELECT * FROM table WHERE field=value AND field2!=value2 AND field3!=value3
怎么做?它甚至可能吗?
答案 0 :(得分:6)
SELECT * FROM table WHERE
((field = value) AND
(field2 <> value2) AND
(field3 <> value3))
如果您正在处理NULL
,则必须做两件事:
SET ANSI_NULLS ON
NULL
值声明为虚拟值。 SQL无法比较空值。
要做到这一点:
SET @value = ISNULL(@value, -1);
答案 1 :(得分:4)
是的,您可以完全按照自己的意愿撰写,但使用<>
代替!=
也许答案取决于“价值”是什么?例如,对于整数123 value
将为123
;对于字符串“foobar”value
将是'foobar'
。
答案 2 :(得分:4)
您是否尝试过<>
运算符
SELECT * FROM table WHERE field = value AND field2 <> value2
答案 3 :(得分:2)
你试过“&lt;&gt;”吗?它适用于Delphi