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!

sammiwei
źródło

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" });   
Graham Borland
źródło
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<>?".

Alpha75
źródło