代码之家  ›  专栏  ›  技术社区  ›  Jakob

SQL:NOT IN不返回所需的行

  •  0
  • Jakob  · 技术社区  · 6 年前

    我有一张桌子 A.

    +--------+------+
    | values | data |
    +--------+------+
    | 11     | 4    |
    +--------+------+
    | 22     | 5    |
    +--------+------+
    | 33     | qwe  |
    +--------+------+
    | 44     | 7    |
    +--------+------+
    | 55     | zui  |
    +--------+------+
    

    SELECT * FROM A WHERE data NOT IN (4,5,7)
    

    因此,预期的结果是

    33
    55
    

    因为 qwe zui NOT IN (4,5,7) .

    但结果是空的。不返回任何行。

    我怎样才能解决这个问题?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Zaynul Abadin Tuhin    6 年前

    因为数据是varchar列,所以将它们作为类似字符串引用

    SELECT * FROM A WHERE data NOT IN ('4','5','7')