Эквивалент функции UNIX_TIMESTAMP для H2 DB?

Кто-нибудь знает какую-либо подходящую замену MySQL UNIX_TIMESTAMP(time_val) на H2, такую, что применение этой функции к метке времени JDBC возвращает эпоху unix с 00:00:00 01 января 1970 года?


person Rajan Prasad    schedule 26.11.2018    source источник
comment
Возможный дубликат CURRENT_TIMESTAMP в миллисекундах в h2   -  person astafev.evgeny    schedule 21.12.2018


Ответы (2)


DATEDIFF('SECOND', DATE '1970-01-01', CURRENT_TIMESTAMP())

как ответили здесь: CURRENT_TIMESTAMP в миллисекундах в h2

или здесь: https://gitlab.com/romain.rinie/h2database/issues/211

person astafev.evgeny    schedule 21.12.2018
comment
Я пробовал это, и это кажется неточным - была небольшая разница между результатом и фактической меткой времени Unix. - person yishaiz; 17.05.2020

Я пробовал другой ответ, и результат был неточным. В другом ответе я получаю метку времени в моем местном часовом поясе (GMT + 3 в моем случае), поэтому она не совпадает с меткой времени Unix (в миллисекундах). В своем ответе я получаю результат в формате UTC.

Это даст вам правильную текущую эпоху UNIX:

SELECT EXTRACT (EPOCH from CURRENT_TIMESTAMP())
person yishaiz    schedule 17.05.2020
comment
Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, почему и / или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. - person β.εηοιτ.βε; 18.05.2020
comment
Спасибо за отзыв - я отредактировал свой ответ, чтобы добавить больше контекста. - person yishaiz; 18.05.2020