Presto SQL: TO_UNIXTIME - PullRequest
       11

Presto SQL: TO_UNIXTIME

0 голосов
/ 24 августа 2018

Я хочу преобразовать читаемую временную метку во время UNIX.

Например: я хочу преобразовать 2018-08-24 18:42:16 в 1535136136000.

Вот мой синтаксис:

    TO_UNIXTIME('2018-08-24 06:42:16') new_year_ut

Моя ошибка:

   SYNTAX_ERROR: line 1:77: Unexpected parameters (varchar(19)) for function to_unixtime. Expected: to_unixtime(timestamp) , to_unixtime(timestamp with time zone)

1 Ответ

0 голосов
/ 24 августа 2018

Вам нужно обернуть varchar в CAST к отметке времени:

to_unixtime(CAST('2018-08-24 06:42:16' AS timestamp)) -- note: returns a double

Если значение вашей отметки времени не имеет доли секунды (или вас это не интересует), вы можете привести к bigintчтобы получить целочисленный результат:

CAST(to_unixtime(CAST('2018-08-24 06:42:16' AS timestamp)) AS BIGINT)

Если читаемое значение метки времени является строкой в ​​формате, отличном от указанного выше, вам потребуется использовать date_parse или parse_datetime для преобразования.Для получения дополнительной информации см. https://prestosql.io/docs/current/functions/datetime.html.

Примечание. При работе со значениями меток времени имейте в виду, что: https://github.com/prestosql/presto/issues/37

...