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!

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

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


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.