2009-11-19 77 views
14

为什么这个简单的查询返回“ORA-00936:缺少表达式”(该数据库是Oracle,你可以告诉):在SQL查询“NOT LIKE”

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND NOT LIKE '2%' 

我觉得很傻,但我是什么我做错了?

回答

50

您错过了第二个NOT LIKE中的字段名称id。尝试:

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%' 

在where子句中加入2个条件表达式,如id NOT LIKE '1%',不能用于列出ID是“不喜欢”多值AND

8

您需要在两个表达式中指定列。

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%' 
7

你在NOT之前错过了ID;它需要被指定。

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'