31

この単純なクエリが「ORA-00936: 式がありません」を返すのはなぜですか (データベースは、おわかりのように Oracle です)。

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

私はばかげているように感じますが、何が間違っていますか?

4

4 に答える 4

71

id2 番目のフィールド名が抜けていますNOT LIKE。試す:

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

where 句のは、andANDなどの 2 つの完全な条件式を結合id NOT LIKE '1%'し、id が「not like」である複数の値をリストするために使用することはできません。

于 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 に答える