SQLite quote()
hàm cho phép bạn thoát khỏi một chuỗi để nó phù hợp để đưa vào câu lệnh SQL.
Các chuỗi được bao quanh bởi các dấu ngoặc đơn với các dấu ngoặc kép bên trong.
BLOB được mã hóa dưới dạng các ký tự thập lục phân.
Lưu ý rằng các chuỗi có ký tự NUL được nhúng không thể được biểu diễn dưới dạng các ký tự chuỗi trong SQL. Nếu bạn bao gồm các chuỗi có các ký tự NUL được nhúng, thì chuỗi ký tự trả về sẽ bị cắt bớt trước NUL đầu tiên.
Ví dụ
Đây là một ví dụ đơn giản về quote()
chức năng để chứng minh cách nó hoạt động.
SELECT
'Money',
quote('Money');
Kết quả:
Trích dẫn 'Money' ('Tiền') ------------------------ Tiền 'Money'Lưu ý rằng cột thứ hai được trả về bằng các dấu nháy đơn.
Tạo câu lệnh SQL
quote()
hàm có thể hữu ích nếu bạn cần tạoINSERT
trong SQL câu lệnh từ nội dung của bảng cơ sở dữ liệu hiện có.Ví dụ:tôi có bảng sau được gọi là Sản phẩm :
ProductId ProductName Price --------------------------------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Tiện ích con 15.0Mỗi tên sản phẩm chứa một ký tự trích dẫn duy nhất. Nếu tôi muốn tạo
INSERT
câu lệnh với các giá trị này, thì tôi cần phải thoát khỏi các ký tự trích dẫn duy nhất.Đây là một ví dụ về cách tạo
INSERT
từ bảng này và sử dụngquote()
để thoát khỏi các ký tự trích dẫn đơn lẻ.SELECT 'INSERT INTO Products2 (ProductName, Price) VALUES (' || quote(ProductName) || ', ' || Price || ');' FROM Products;
Kết quả:
CHÈN VÀO SẢN PHẨM2 (Tên sản phẩm, Giá) ('Tiện ích của Homer' ', 10.0); CHÈN VÀO SẢN PHẨM2 (Tên sản phẩm, Giá) ('Peter''s Widget', 20,75); CHÈN VÀO SẢN PHẨM2 (Tên sản phẩm, Giá) ('Bob''s Widget', 15.0);