SQLite quote()
le permite escapar de una cadena para que sea adecuada para incluirla en una instrucción SQL.
Las cadenas están rodeadas de comillas simples con escapes entre comillas interiores.
Los BLOB se codifican como literales hexadecimales.
Tenga en cuenta que las cadenas con caracteres NUL incrustados no se pueden representar como literales de cadena en SQL. Si incluye cadenas con caracteres NUL incrustados, el literal de cadena devuelto se trunca antes del primer NUL.
Ejemplo
Aquí hay un ejemplo simple de quote()
función para demostrar cómo funciona.
SELECT
'Money',
quote('Money');
Resultado:
'Money' quote('Money') ---------- ---------------------- Money 'Money'
Observe que la segunda columna se devuelve con comillas simples.
Generación de una instrucción SQL
El quote()
La función podría ser útil si alguna vez necesita generar un SQL INSERT
declaración del contenido de una tabla de base de datos existente.
Por ejemplo, tengo la siguiente tabla llamada Productos :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0
Cada nombre de producto contiene un carácter de comilla simple. Si quisiera generar un INSERT
declaración con estos valores, entonces tendría que escapar de los caracteres de comillas simples.
Aquí hay un ejemplo de cómo generar INSERT
declaraciones de esta tabla, y usando quote()
para escapar de los caracteres de comillas 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);