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 ===.
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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.