Преобразование целого числа в метку времени в тераданных - PullRequest
0 голосов
/ 18 июня 2020

У меня есть два облака, одно из них - дата (это формат даты 2020-06-17), другое - время транзакции (это целое число 1258), как я могу объединить их как метку времени?

Пример

    Date    Time    Expected_Result
2020-06-17  1258    2020-06-17 12:58:00
2020-08-15  2315    2020-08-15 23:15:00
2020-10-10  1238    2020-10-10 12:38:00

1 Ответ

3 голосов
/ 18 июня 2020

Возможны несколько подходов. Можно сначала преобразовать все в строку:

cast(cast(cast(d as format 'yyyy-mm-dd') as varchar(11))||' '||cast(cast(t as format '99:99') as varchar(10))||':00' as timestamp(0))

Другая возможность - разделить часы и минуты с помощью целочисленной арифметики c и преобразовать единицы по отдельности:

cast(d as timestamp(0))+ (t/100)*interval '1' hour + (t mod 100)*interval '1' minute
...