Qual é a sintaxe para “diferente” no SQLite?

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

Quero retornar o cursor que aponta tudo que NÃO está na venda, o que devo alterar? Obrigado!

Sammiwei
fonte

Respostas:

201

Da documentação oficial :

O operador diferente pode ser !=ou<>

Portanto, seu código se torna:

Cursor findNormalItems = db.query("items", columns, "type != ?", 
                                  new String[] { "onSale" });   
Graham Borland
fonte
9
Na minha opinião, !=parece mais profissional - e é mais consistente com os operadores =e ==.
ban-geoengineering
por que eu tenho que adicionar "OR 'minha coluna' NÃO É NULO? Quando eu consultar com uma cláusula onde NÃO É IGUAL?
ThierryC
3
@ ban-geoengineering <>é o padrão SQL Ansi e !=não é. Claro que <>é mais profissional
edc65
@ ban-geoengineering, aqui está um monte de comentários apresentando argumentos para o uso de !=ou <>.
9

Você deve usar no comparador o operador não igual: "type!=?"ou "type<>?".

Alpha75
fonte