Quelle est la syntaxe pour «pas égal» dans SQLite?

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

Je veux retourner le curseur qui pointe tout ce qui n'est PAS en vente, que dois-je changer? Merci!

sammiwei
la source

Réponses:

201

De la documentation officielle :

L'opérateur non égal peut être soit !=soit<>

Ainsi votre code devient:

Cursor findNormalItems = db.query("items", columns, "type != ?", 
                                  new String[] { "onSale" });   
Graham Borland
la source
9
À mon avis, !=semble plus professionnel - et est plus cohérent avec les opérateurs =et ==.
ban-geoengineering
pourquoi je dois ajouter "OU 'ma colonne' N'EST PAS NULL? Quand je demande avec une clause where NOT EQUAL?
ThierryC
3
@ ban-geoengineering <>est la norme SQL Ansi et !=ne l'est pas. Bien sûr, <>c'est plus professionnel
edc65
@ ban-geoengineering, voici un tas de commentaires présentant des arguments pour l'utilisation de !=ou <>.
9

Vous devez utiliser dans le comparateur l'opérateur non égal: "type!=?"ou "type<>?".

Alpha75
la source