SQLite quote()
funktionen giver dig mulighed for at undslippe en streng, så den er egnet til medtagelse i en SQL-sætning.
Strenge er omgivet af enkelte citater med escapes på interiør citater.
BLOB'er er kodet som hexadecimale bogstaver.
Bemærk, at strenge med indlejrede NUL-tegn ikke kan repræsenteres som strengliteraler i SQL. Hvis du inkluderer strenge med indlejrede NUL-tegn, afkortes den returnerede streng-literal før den første NUL.
Eksempel
Her er et simpelt eksempel på quote()
funktion for at demonstrere, hvordan det virker.
SELECT
'Money',
quote('Money');
Resultat:
'Penge'-citat('Penge') ---------- ----------------------Penge 'Penge'Bemærk, at den anden kolonne returneres med enkelte anførselstegn.
Generering af en SQL-sætning
quote()
funktion kan være nyttig, hvis du nogensinde har brug for at generere en SQLINSERT
sætning fra indholdet af en eksisterende databasetabel.For eksempel har jeg følgende tabel kaldet Produkter :
ProductId ProductName Pris ---------- -------------------- ----------1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0Hvert produktnavn indeholder et enkelt anførselstegn. Hvis jeg ville generere en
INSERT
udsagn med disse værdier, så bliver jeg nødt til at undslippe de enkelte anførselstegn.Her er et eksempel på generering af
INSERT
udsagn fra denne tabel og ved hjælp afquote()
for at undslippe de enkelte anførselstegn.SELECT 'INSERT INTO Products2 (ProductName, Price) VALUES (' || quote(ProductName) || ', ' || Price || ');' FROM Products;
Resultat:
INSERT INTO Products2 (ProductName, Price) VALUES ('Homer's widget', 10.0); INSERT INTO Products2 (ProductName, Price) VALUES ('Peters' widget', 20.75); INSERT INTO Products2 (ProductName, Price) VALUES ('Bob's widget', 15.0);