Jaka jest składnia wyrażenia „nierówne” w SQLite?


112
 Cursor findNormalItems = db.query("items", columns, "type=?", 
                                   new String[] { "onSale" });

Chcę zwrócić kursor wskazujący wszystko, co NIE jest w sprzedaży, co mam zmienić? Dzięki!

Odpowiedzi:


201

Z oficjalnej dokumentacji :

Operator różny może być albo !=lub<>

Twój kod staje się więc:

Cursor findNormalItems = db.query("items", columns, "type != ?", 
                                  new String[] { "onSale" });   

9
Moim zdaniem !=wygląda bardziej profesjonalnie - i jest bardziej zgodny z operatorami =i ==.
zakaz geoinżynierii

dlaczego muszę dodać „OR 'mycolumn' NIE JEST NULL? Kiedy pytam z klauzulą ​​where NOT EQUAL?
ThierryC

3
@ ban-geoengineering <>jest standardem SQL Ansi, a !=nie jest. Oczywiście <>jest bardziej profesjonalny
edc65

@ ban-geoengineering, oto kilka komentarzy przedstawiających argumenty przemawiające za użyciem !=or <>.

9

W komparatorze należy użyć operatora nierówności: "type!=?"lub "type<>?".


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.