31

为什么这个简单的查询会返回“ORA-00936:缺少表达式”(数据库是 Oracle,如您所知):

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

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

4

4 回答 4

71

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

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

where 子句中的AND2 个完整条件表达式,例如id NOT LIKE '1%'and 不能用于列出 id 为“不喜欢”的多个值。

于 2009-11-19T11:40:09.717 回答
14

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

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
于 2009-11-19T11:40:32.633 回答
13

您在 NOT 之前错过了 id;它需要指定。

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
于 2009-11-19T11:40:52.093 回答
1

在“AND”和“OR”之后,QUERY 忘记了它的全部内容。

我也不知道它是关于任何 SQL / 编程语言的。

if(SOMETHING 等于 "X" 或 SOMETHING 等于 "Y")

列不喜欢“A%”和列不喜欢“B%”

于 2020-10-22T10:13:27.173 回答