Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

651
Vistas
Javascript imprime el primer elemento SQL en ResultSet sin coma, luego todos los demás con coma
create procedure my_stored_procedure(TABLE VARCHAR) returns varchar language javascript as $$ var sql_col_list = `select distinct key_name from TABLE;` results = snowflake.execute({sqlText: sql_col_list}); while (results.next()) { script += ',' + results.getColumnValue(1) + '\n'; }

Salida de corriente:

 , column1 , column2 , column3

Salida deseada:

 column1 , column2 , column2

¿Cómo puedo hacer esto en javascript dentro del procedimiento almacenado sql? Me gustaría no tener que ejecutar la consulta más de una vez porque la consulta real es computacionalmente intensiva.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

usando su sp, eliminaría el primer resultado del bucle para que sea:

 create or replace procedure my_stored_procedure(TABLE VARCHAR) returns varchar language javascript as $$ var sql_col_list = `select distinct key_name from TABLE;` results = snowflake.execute({sqlText: sql_col_list}); var script = ''; results.next() script += results.getColumnValue(1) while (results.next()) { script += ',' + results.getColumnValue(1) + '\n'; } return script; $$;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Una mala solución después de la solución de hecho, elimínela:

 > ',a,b,c'.replace(/^,/,''); 'a,b,c' >

otra opción es construir una matriz de las partes deseadas y luego usar unir

 > ['a','b','c'].join(',\n'); 'a,\nb,\nc' >

y si quieres la nueva línea final:

 > ['a','b','c'].join(',\n')+'\n'; 'a,\nb,\nc\n' >

O puede hacer que Snowflake lo haga por usted:

 SELECT listagg( DISTINCT key_name, ',\\n') || '\\n' FROM VALUES ('apple'),('cat'),('apple'),('cat'),('dog') t(key_name);
LISTAGG( DISTINCT KEY_NAME, ',\N')|| '\NORTE'
manzana,\ngato,\ndoperro\n
about 4 years ago · Juan Pablo Isaza Denunciar

0

puede agregar un control booleano si esto es lo primero o no:

 var sql_col_list = `select distinct key_name from TABLE;` results = snowflake.execute({sqlText: sql_col_list}); var isFirst = true; while (results.next()) { if(isFirst) { script += results.getColumnValue(1) + '\n'; isFirst = false; continue; } script += ',' + results.getColumnValue(1) + '\n'; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda