Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

169
Views
Stored Procedure Snowflake - time formatting issue
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);

I have this code above in a JavaScript stored procedure in snowflake, this query produces: 11:27:35.181000000

How can I strip this to only give me 11:27:35?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

JavaScript Procedure is returning type as string, so value cannot be interpreted in snowflake as time or to apply time-base formats.

Code without any formatting for time -

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();
TEST_TIME
06:20:47.250000000

Use TO_CHAR to get desired format and return same.

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();
TEST_TIME
06:27:50

JavaScript does not have a date data-type.

If we are using SQL based procedure which returns datetype date/timestamp, then its interpretation is as per set format.

In below code there are no format functions applied.

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();
TEST_TIME
07:03:48.48S
alter session set timestamp_output_format='hh24:mi:ss.ff';

call test_time();
TEST_TIME
07:05:07.236000000
alter session set timestamp_output_format='hh24:mi:ss';

call test_time();
TEST_TIME
07:05:39
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!