Cú pháp cho "không bằng" trong SQLite là gì?


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

Tôi muốn trả lại con trỏ trỏ bất kỳ thứ gì KHÔNG phải là bán trên thị trường, tôi nên thay đổi điều gì? Cảm ơn!

Câu trả lời:


201

Từ tài liệu chính thức :

Toán tử không bằng có thể là !=hoặc<>

Vì vậy, mã của bạn trở thành:

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

9
Theo tôi, !=trông chuyên nghiệp hơn - và phù hợp hơn với các nhà khai thác =và ==.
— ban-geoengineering

tại sao tôi phải thêm "OR 'mycolumn' IS NOT NULL Khi tôi truy vấn với một mệnh đề where không bằng nhau?
— ThierryC

3
@ ban-geoengineering <>là tiêu chuẩn SQL Ansi và !=không phải. Tất nhiên <>là chuyên nghiệp hơn
— edc65

@ ban-geoengineering, đây là một loạt các nhận xét trình bày các lập luận cho việc sử dụng !=hoặc <>.

9

Bạn nên sử dụng toán tử không bằng trong bộ so sánh: "type!=?"hoặc "type<>?".


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.