Deseo reemplazar la subconsulta por el nombre de la tabla dentro de la subconsulta usando expresiones regulares en node.js.
por ejemplo, convertir la siguiente consulta:
SELECT col1 FROM (SELECT col1::DECIMAL(10), col2, FROM @table_name) WHERE (COND1) AND (COND2)A:
SELECT col1 FROM @table_name WHERE (COND1) AND (COND2)He intentado usar:
string.replace(/\([^()]*\)/g, '') Pero elimina todo el contenido.
Cualquier idea es apreciada. ¡Gracias!
Puede probar el siguiente reemplazo de expresiones regulares:
var sql = `SELECT col1 FROM (SELECT col1, col2, FROM @table_name) WHERE (COND1) AND (COND2)`; sql = sql.replace(/\([^)]*\bFROM (@[^)]+)[^)]*\)/, "$1"); console.log(sql);Pero para cubrir todos los casos extremos posibles, es posible que desee utilizar un analizador SQL.