Apa sintaks untuk "tidak sama" di SQLite?

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

Saya ingin mengembalikan kursor yang menunjukkan apa pun yang BUKAN dijual, apa yang harus saya ubah? Terima kasih!

sammiwei
sumber

Jawaban:

201

Dari dokumentasi resmi :

Operator yang tidak sama dapat berupa !=atau<>

Jadi kode Anda menjadi:

Cursor findNormalItems = db.query("items", columns, "type != ?", 
                                  new String[] { "onSale" });   
Graham Borland
sumber
9
Menurut pendapat saya, !=terlihat lebih profesional - dan lebih konsisten dengan operator =dan ==.
ban-geoengineering
mengapa saya harus menambahkan "ATAU 'mycolumn' IS NOT NULL? Ketika saya query dengan klausa where NOT
EQUAL
3
@ ban-geoengineering <>adalah standar SQL Ansi dan !=bukan. Tentu saja <>lebih profesional
edc65
@ ban-geoengineering, berikut adalah sekumpulan komentar yang menyajikan argumen untuk penggunaan !=atau <>.
9

Anda harus menggunakan operator non-equal dalam pembanding: "type!=?"atau "type<>?".

Alpha75
sumber