SQLite quote()
функцията ви позволява да избягвате низ, така че да е подходящ за включване в SQL израз.
Низовете са заобиколени от единични кавички с екраниране във вътрешните кавички.
BLOB-овете са кодирани като шестнадесетични литерали.
Имайте предвид, че низовете с вградени NUL знаци не могат да бъдат представени като низови литерали в SQL. Ако включите низове с вградени NUL знаци, върнатият низов литерал се съкращава преди първия NUL.
Пример
Ето един прост пример за quote()
функция, за да демонстрира как работи.
SELECT
'Money',
quote('Money');
Резултат:
'Пари' цитат ('Пари') ---------- ---------------------Пари 'Пари' предварително>Забележете, че втората колона се връща с единични кавички.
Генериране на SQL изявление
quote()
функцията може да ви бъде полезна, ако някога трябва да генерирате SQLINSERT
изявление от съдържанието на съществуваща таблица на база данни.Например, имам следната таблица, наречена Продукти :
ProductId ProductName Цена ---------- -------------- ----------1 Уиджетът на Хомър 10.0 2 Уиджетът на Питър 20.75 3 Уиджетът на Боб Widget 15.0Всяко име на продукт съдържа един знак за кавички. Ако исках да генерирам
INSERT
израз с тези стойности, тогава ще трябва да избягвам символите в единични кавички.Ето пример за генериране на
INSERT
изрази от тази таблица и с помощта наquote()
за избягване на символите в единични кавички.SELECT 'INSERT INTO Products2 (ProductName, Price) VALUES (' || quote(ProductName) || ', ' || Price || ');' FROM Products;
Резултат:
INSERT INTO Products2 (ProductName, Price) VALUES ('Homer's Widget', 10.0); INSERT INTO Products2 (ProductName, Price) VALUES ('Peter's Widget', 20.75); INSERT INTO Products2 (ProductName, Price) VALUES ('Bob's Widget', 15.0);