SELECT WHERE字段!=值如何在mysql中完成?

时间:2009-04-24 13:38:56

标签: mysql

我无法找到答案,因为搜索mysql NOT在google中是一场噩梦(即使有引号)。

我需要进行这样的查询:

SELECT * FROM table WHERE field=value AND field2!=value2 AND field3!=value3

怎么做?它甚至可能吗?

4 个答案:

答案 0 :(得分:6)

SELECT * FROM table WHERE 
        ((field = value) AND  
        (field2 <> value2) AND 
        (field3 <> value3))

如果您正在处理NULL,则必须做两件事:

  1. 使用SET ANSI_NULLS ON
  2. NULL值声明为虚拟值。
  3. 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