Actualmente creo una cadena con JavaScript que se usa como una consulta SQL. Lee una cantidad de filas de una hoja de Excel y luego crea la consulta SQL al combinar todos esos puntos de datos con .join(','). Quiero agregar una columna agregada que es una lista de etiquetas.
Es una matriz separada por comas. Cuando mi cadena se .joined(',')ed, simplemente se convierte en una cadena.
Técnicamente sigue siendo una matriz porque se agrega a mi cadena de consulta SQL como ARRAY['lista, de, cosas'] pero necesito que esté en mi cadena de consulta SQL como ARRAY['lista', 'de', 'cosas' ]. ¿Alguna manera de prevenir esto?
Córtalo de código. company[3] se pasa como una matriz de cadenas:
const tagsPresent = company[3] !== null; return format( `(%L, %L, ${ tagsPresent ? `'{${company[3]}}'` : 'NULL::text[]' // I've also tried 'ARRAY[${company[3]}]' and ARRAY['+ company[3] +'] })`, company[1], company[2] ); }) .join(', ');Pude resolver esto usando un mapa.
${ tagsPresent ? `ARRAY[${company[3] .split(',') .map((tag) => "'" + tag + "'") .toString()}]` : 'NULL::text[]' })