将存储为 INT 的时间转换为 Presto 中的 VARCHAR

Converting time stored as INT to VARCHAR in Presto

我正在将数据从 Presto 数据库提取到 SQL 服务器 table,其中包含一个名为 scan_time 的字段,该字段以 INT 格式存储时间值。这些值显然不是固定长度,所以像 1233 这样的东西实际上意味着 00:12:33.

将其转换为 VARCHAR 的最佳方法是什么,以便值 1223 输出为 00:12:33

在SQL服务器中,您可以使用以下方式转换为时间:

select convert(time, stuff(right(concat('0', scan_time), 4), 3, 0, ':'))

Here 是一个 db<>fiddle.