Как преобразовать метку времени Unix (1541107867006) в требуемый формат даты и времени в представлении калькуляции SAP Hana Scripted - PullRequest
0 голосов
/ 05 ноября 2018

После хороших исследований и не найдя нужного решения, я выкладываю вопрос здесь.

Проблема : невозможно преобразовать метку времени 1541107867006 в требуемый формат даты и времени в представлении калькуляции SAP Scripted.

Пробовал приведенный ниже код и функции SAP, но они работают для других форматов, а не для этого специально.

SELECT TO_TIMESTAMP (ADD_SECONDS( '1970-01-01 00:00:00', '1541107867006')) TIMESTAMP,
       TO_DATE (ADD_SECONDS( '1970-01-01 00:00:00', '1541107867006')) DATE,
       TO_TIME (ADD_SECONDS( '1970-01-01 00:00:00', '1541107867006')) TIME
from DUMMY

Не могли бы вы помочь с этим? Очень ценю ваш ответ!

Спасибо Supriya

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Это сработало для меня.

TO_CHAR(ADD_SECONDS(TO_TIMESTAMP('1970-01-01 00:00:00'), cast('1541107867006' as bigint)/1000),'mm/dd/yyyy')
0 голосов
/ 24 января 2019

Константа '1541107867006' не в секундах, а в миллисекундах. Попробуйте

SELECT ADD_SECONDS(TO_TIMESTAMP('1970-01-01 00:00:00'), 
    cast('1541107867006' as bigint)/1000) as "Timestamp"
from DUMMY;

или, потому что некоторые приведения неявны:

SELECT ADD_SECONDS('1970-01-01 00:00:00', 
    cast('1541107867006' as bigint)/1000) as "Timestamp"
from DUMMY;

Проще, когда (числовая) метка времени Unix сразу указывается как BIGINT:

SELECT ADD_SECONDS('1970-01-01 00:00:00', 1541107867006 / 1000) as "TimeStamp"
from DUMMY;
...