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

167
Vistas
Procedimiento almacenado Snowflake: problema de formato de hora
var get_end_time = "select CURRENT_TIME()"; var time_sql = {sqlText: get_end_time}; var time_create = snowflake.createStatement(time_sql); var time_exec_end = time_create.execute(); time_exec_end.next(); var end_time = time_exec_end.getColumnValue(1);

Tengo este código arriba en un procedimiento almacenado de JavaScript en copo de nieve, esta consulta produce: 11:27:35.181000000

¿Cómo puedo quitar esto para que solo me dé 11:27:35?

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

0

El procedimiento de JavaScript devuelve el tipo como una cadena, por lo que el valor no se puede interpretar en copo de nieve como tiempo o para aplicar formatos de base de tiempo.

Código sin ningún formato para el tiempo -

 CREATE OR REPLACE PROCEDURE test_time() RETURNS STRING LANGUAGE javascript AS $$ var get_end_time = "select CURRENT_TIME()"; var time_sql = {sqlText: get_end_time}; var time_create = snowflake.createStatement(time_sql); var time_exec_end = time_create.execute(); time_exec_end.next(); var end_time = time_exec_end.getColumnValue(1); return end_time; $$ ; call test_time();
TIEMPO DE PRUEBA
06:20:47.250000000

Use TO_CHAR para obtener el formato deseado y devolver el mismo.

 CREATE OR REPLACE PROCEDURE test_time() RETURNS STRING LANGUAGE javascript AS $$ var get_end_time = "select to_char(CURRENT_TIME())"; var time_sql = {sqlText: get_end_time}; var time_create = snowflake.createStatement(time_sql); var time_exec_end = time_create.execute(); time_exec_end.next(); var end_time = time_exec_end.getColumnValue(1); return end_time; $$ ; call test_time();
TIEMPO DE PRUEBA
06:27:50

JavaScript no tiene un tipo de datos de fecha.

Si estamos utilizando un procedimiento basado en SQL que devuelve el tipo de fecha/marca de tiempo, entonces su interpretación es según el formato establecido.

En el siguiente código no se aplican funciones de formato.

 create or replace procedure test_time() returns date language sql as $$ begin return (select current_timestamp()); end; $$ ; alter session set timestamp_output_format='hh24:mi:ss.sss'; call test_time();
TIEMPO DE PRUEBA
07:03:48.48S
 alter session set timestamp_output_format='hh24:mi:ss.ff'; call test_time();
TIEMPO DE PRUEBA
07:05:07.236000000
 alter session set timestamp_output_format='hh24:mi:ss'; call test_time();
TIEMPO DE PRUEBA
07:05:39
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