SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Como SQLite Quote() funciona


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


A quote() pode ser útil se você precisar gerar um SQL INSERT 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 um INSERT declaração com esses valores, então eu precisaria escapar dos caracteres de aspas simples.

Aqui está um exemplo de geração de INSERT instruções desta tabela e usando quote() 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);