Sử dụng sqlite3, nếu truy vấn của tôi làSqlite ràng buộc trong chuỗi chữ
SELECT * FROM table WHERE title LIKE '%x%'
Nó sẽ phù hợp với chuỗi có chứa x
. Tôi muốn làm cho x
một tham số bindable, như:
SELECT * FROM table WHERE title LIKE '%x?%'
Tuy nhiên, điều này không làm việc kể từ khi hình thức ''
một chuỗi chữ. Có cách nào để thoát khỏi số ?
trong chữ không? Tôi hiểu rằng tôi có thể xây dựng các thông số bindable để chứa các %
và sau đó sử dụng
SELECT * FROM table WHERE title LIKE ?
nhưng điều này di chuyển trách nhiệm vào mã của tôi về mặt xử lý tiêm SQL chứ không phải là giao diện ràng buộc. Có một giải pháp đẹp hơn cho điều này?
Nó không chỉ là sqlite; '||' nằm trong chuẩn SQL; Postgres và Oracle theo dõi điều này. MySQL và MSSQL sử dụng 'CONCAT()' và '+' tương ứng, cả hai đều không chuẩn. – ephemient