O SQLite
quote()
A função permite que você escape de uma string para que seja adequada para inclusão em uma instrução SQL. Strings são cercadas por aspas simples com escapes nas aspas internas.
BLOBs são codificados como literais hexadecimais.
Observe que as strings com caracteres NUL incorporados não podem ser representadas como literais de string no SQL. Se você incluir strings com caracteres NUL incorporados, o literal de string retornado será truncado antes do primeiro NUL.
Exemplo
Aqui está um exemplo simples do
quote()
função para demonstrar como funciona. SELECT
'Money',
quote('Money');
Resultado:
'Dinheiro' quote('Dinheiro') ---------- ----------------------Dinheiro 'Dinheiro'
Observe que a segunda coluna é retornada com aspas simples.
Gerando uma instrução SQL
Aquote()
pode ser útil se você precisar gerar um SQLINSERT
instrução do conteúdo de uma tabela de banco de dados existente.
Por exemplo, tenho a seguinte tabela chamada Produtos :
ProductId ProductName Price ---------- -------------- ----------1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0
Cada nome de produto contém um caractere de aspas simples. Se eu quisesse gerar umINSERT
declaração com esses valores, então eu precisaria escapar dos caracteres de aspas simples.
Aqui está um exemplo de geração deINSERT
instruções desta tabela e usandoquote()
para escapar dos caracteres de aspas simples.
SELECT 'INSERT INTO Products2 (ProductName, Price) VALUES (' || quote(ProductName) || ', ' || Price || ');' FROM Products;
Resultado:
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);