SAP HANA SQL, как преобразовать CreateTS UpdateTS CreareTime UpdateTime в отметку времени - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь объединить CreateDate и CreateTS, чтобы сделать одну метку времени, содержащую дату и время

, сейчас единственное решение, которое я достиг, это

SELECT 
    TO_TIMESTAMP(
        to_char(COALESCE("UpdateDate","CreateDate",'1970-01-01'), 'yyyy-mm-dd') || ' '||
        SUBSTRING (lpad(COALESCE("UpdateTS","CreateTS",0),6,'0'),0,2) || ':'||
        SUBSTRING (lpad(COALESCE("UpdateTS","CreateTS",0),6,'0'),3,2)|| ':'||
        SUBSTRING (lpad(COALESCE("UpdateTS","CreateTS",0),6,'0'),5,2), 'YYYY-MM-DD HH24:MI:SS'
    )  AS update_create
FROM OCRD

Но я узналчто с UpdateTime columsn этот код не работает.Большая проблема состоит в том, что sap делит дату и время и экономит время в другом формате так:

8 -> it's 00:08:00 and not 00:00:08
223 -> it's 22:30:00 andf bnot 00:02:23
16321 -> it's 01:63:21

Существует ли какая-либо уже определенная функция для объединения даты и времени для получения реальной отметки времени создания/ обновление?

спасибо

1 Ответ

0 голосов
/ 07 декабря 2018

Если ваши столбцы "UpdateDate","CreateDate" хранятся в виде дат, а столбцы "UpdateTS","CreateTS" сохраняются в формате ЧЧММСС, тогда вы можете попробовать следующее:

TO_TIMESTAMP( COALESCE("UpdateDate","CreateDate",'1970-01-01') || ' ' || TO_TIME(COALESCE("UpdateTS","CreateTS",000000)) )
...