ไวยากรณ์ของ "ไม่เท่ากัน" ใน SQLite คืออะไร


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

ฉันต้องการคืนเคอร์เซอร์ที่ชี้อะไรก็ตามที่ไม่ได้ขายฉันควรเปลี่ยนอะไรดี? ขอบคุณ!

คำตอบ:


201

จากเอกสารอย่างเป็นทางการ :

ตัวดำเนินการที่ไม่เท่ากับสามารถเป็น!=หรือ<>

ดังนั้นรหัสของคุณจึงกลายเป็น:

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

9
ในความคิดของฉัน!=ดูเป็นมืออาชีพมากขึ้น - และสอดคล้องกับตัวดำเนินการ=และ==มากกว่า
ban-geoengineering

ทำไมฉันต้องเพิ่ม "หรือ" คอลัมน์ของฉัน "ไม่เป็นโมฆะเมื่อฉันค้นหาด้วยคำสั่งที่ไม่เท่ากัน
ThierryC

3
@ ban-geoengineering <>เป็นมาตรฐาน SQL Ansi และ!=ไม่ใช่ แน่นอนว่า<>เป็นมืออาชีพมากขึ้น
edc65

@ บ้าน geoengineering นี่คือพวงของการแสดงความคิดเห็นที่นำเสนอข้อโต้แย้งสำหรับการใช้งานของหรือ!= <>

9

คุณควรใช้ในตัวเปรียบเทียบตัวดำเนินการที่ไม่เท่ากัน: "type!=?"หรือ"type<>?".


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.