Với bảng sau:Làm thế nào để làm cho công việc = NULL trong SQLite?
Table: Comedians ================= Id First Middle Last --- ------- -------- ------- 1 Bob NULL Sagat 2 Jerry Kal Seinfeld
Tôi muốn làm cho các truy vấn chuẩn bị sau:
SELECT * FROM Comedians WHERE Middle=?
làm việc cho tất cả các trường hợp. Nó hiện không hoạt động cho trường hợp tôi vượt qua NULL qua sqlite3_bind_null
. Tôi nhận ra rằng các truy vấn để thực sự tìm kiếm các giá trị NULL sử dụng IS NULL
, nhưng điều đó có nghĩa là tôi không thể sử dụng truy vấn đã chuẩn bị cho tất cả các trường hợp. Tôi thực sự sẽ phải thay đổi truy vấn tùy thuộc vào đầu vào, phần lớn sẽ đánh bại mục đích của truy vấn đã chuẩn bị. Làm thế nào để tôi làm điều này? Cảm ơn!
Làm thế nào sẽ tìm kiếm người dùng cho một diễn viên hài không có tên đệm? – Mithrandir
@Mithrandir Đây không phải là chức năng hướng đến người dùng, nó được sử dụng nội bộ. Về cơ bản, tôi chuyển một con trỏ (char *) cho hàm. Nếu con trỏ là NULL, tôi sử dụng 'sqlite3_bind_null' nhưng nếu nó là chuỗi 'NULL' thì tôi sử dụng hàm chuỗi. – chacham15