SQLite quote() Funkce vám umožňuje ukončit řetězec, aby byl vhodný pro zahrnutí do příkazu SQL.
Řetězce jsou obklopeny jednoduchými uvozovkami s uvozovkami uvnitř.
Objekty BLOB jsou kódovány jako hexadecimální literály.
Všimněte si, že řetězce s vloženými znaky NUL nelze v SQL reprezentovat jako řetězcové literály. Pokud zahrnete řetězce s vloženými znaky NUL, bude vrácený řetězcový literál před prvním NUL zkrácen.
Příklad
Zde je jednoduchý příklad quote() funkce demonstrovat, jak to funguje.
SELECT
'Money',
quote('Money'); Výsledek:
'Money' quote('Money') ---------- ----------------------Money 'Money'
Všimněte si, že druhý sloupec je vrácen s jednoduchými uvozovkami.
Generování příkazu SQL
quote() funkce se může hodit, pokud někdy potřebujete vygenerovat SQL INSERT z obsahu existující databázové tabulky.
Mám například následující tabulku s názvem Produkty :
ProductId Název produktu Cena ---------- -------------- ----------1 Homer's Widget 10,0 2 Peter's Widget 20,75 3 Bob's Widget 15.0
Každý název produktu obsahuje jeden znak citace. Pokud bych chtěl vygenerovat INSERT příkaz s těmito hodnotami, pak bych musel uvozovat znaky.
Zde je příklad generování INSERT příkazy z této tabulky a pomocí quote() pro escapování jednoduchých uvozovek.
SELECT
'INSERT INTO Products2 (ProductName, Price)
VALUES (' || quote(ProductName) || ', ' || Price || ');'
FROM Products;
Výsledek:
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);