SQLite quote()
funktionen låter dig escape en sträng så att den är lämplig för inkludering i en SQL-sats.
Strängar är omgivna av enkla citattecken med escapes på invändiga citat.
BLOB är kodade som hexadecimala bokstaver.
Observera att strängar med inbäddade NUL-tecken inte kan representeras som strängliteraler i SQL. Om du inkluderar strängar med inbäddade NUL-tecken, trunkeras den returnerade strängliteralen före den första NUL.
Exempel
Här är ett enkelt exempel på quote()
funktion för att visa hur det fungerar.
SELECT
'Money',
quote('Money');
Resultat:
'Pengar'-citat('Pengar') ---------- ----------------------Pengar 'Pengar'Lägg märke till att den andra kolumnen returneras med enkla citattecken.
Generera en SQL-sats
quote()
funktionen kan vara praktisk om du någonsin behöver generera en SQLINSERT
uttalande från innehållet i en befintlig databastabell.Till exempel har jag följande tabell som heter Produkter :
ProductId ProductName Pris ---------- -------------------- ----------1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0Varje produktnamn innehåller ett enda citattecken. Om jag ville skapa en
INSERT
uttalande med dessa värden, då skulle jag behöva undkomma de enstaka citattecken.Här är ett exempel på hur du genererar
INSERT
satser från den här tabellen och medquote()
för att undvika de enstaka citattecken.SELECT 'INSERT INTO Products2 (ProductName, Price) VALUES (' || quote(ProductName) || ', ' || Price || ');' FROM Products;
Resultat:
INSERT INTO Products2 (Produktnamn, Pris) VÄRDEN ('Homer's Widget', 10.0); INSERT INTO Products2 (Produktnamn, Pris) VÄRDEN ('Peters Widget', 20.75); INSERT INTO Products2 (Produktnamn, Pris) VÄRDEN ('Bob's Widget', 15.0);