SQL Select语句比较错误的值

时间:2015-11-20 23:48:37

标签: mysql sql sqlite

SELECT ABC, 123 FROM TABLE WHERE ABC != "123"

我正在使用SQLite并尝试从表中选择abc列不包含值'123'的值。它不起作用,因为!=语句没有在ABC下查找值'123',而是比较'123'列的值。

我想要它做的是检索ABC和ABC的单元格不包含'123'的123

2 个答案:

答案 0 :(得分:1)

将双引号替换为单引号:

ABC != "123" -> ABC != '123'

SQLite和其他许多数据库一样,对于字符串文字使用单引号,对标识符使用双引号。所以“123”被解释为列名,'123'被解释为字符串。

答案 1 :(得分:0)

如果我做对了,你有一张同时包含'ABC'和'123'列的表,对吗?

要搜索ABC列不包含“123”值的行,您可以使用如下查询:

SELECT ABC, 123 FROM TABLE WHERE ABC NOT LIKE '%123%'

或者,如果您只想排除完美匹配,换句话说,您只是不希望ABC列完全对应于'123'的行,您可以使用:

SELECT ABC, 123 FROM TABLE WHERE ABC NOT LIKE '123'