(require("@nginstack/engine/lib/string/toSqlString"))(str)
Converte o valor em uma string equivalente que possa ser inserida em uma expressão SQL. Valores numéricos são formatados com no máximo dez casas decimais.
O seu uso é recomendado para valores literais utilizados em filtros ou expressões de colunas retornadas por comandos SQL. Para identificadores, como os nomes de tabelas e colunas, deve ser utilizada a função toSqlIdentifier.
Um array é convertido em uma lista dos seus valores separados por vírgula, que pode ser utilizada
nos operadores IN e NOT IN. O array não pode ser vazio, pois o SQL não aceita uma lista
vazia. Essa forma é indicada apenas para listas pequenas: alguns bancos de dados limitam a
quantidade de valores de uma lista, como o Oracle, que aceita no máximo 1000. Para listas sem
um tamanho máximo conhecido, deve ser utilizada a classe
QueryUtilities, que divide a lista
em várias condições.
Esta função também é publicada como ngin.text.toSqlString() no escopo global, sendo
preferível essa forma de uso em scripts da Virtual File System que não são módulos
JavaScript.
Parameters:
| Name | Type | Description |
|---|---|---|
str |
* |
Valor a ser convertido. |
Returns:
String que pode ser inserida em uma expressão SQL.
- Type
- string
Example
const toSqlString = require('@nginstack/engine/lib/string/toSqlString');
toSqlString('Test'); // => "'Test'"
toSqlString(null); // => "null"
toSqlString(10.2); // => "10.2"
toSqlString(new Date(2019, 5, 10)); // => "06/10/2019"
toSqlString(['a', 'b', 10]); // => "'a', 'b', 10"