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!

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" });   

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<>?".


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.