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!

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

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


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.