BigQuery: как получить дату и время из отметки времени в секундах? - PullRequest
0 голосов
/ 04 марта 2019

Мое решение заключается в следующем

SELECT TIMESTAMP_ADD('1970-01-01', INTERVAL 1551692341 SECOND) AS ts

Есть ли другой, более читабельный способ преобразования метки времени unix в дату?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Да, есть.

TIMESTAMP_SECONDS (int64_expression).Описание.Интерпретирует int64_expression как количество секунд с 1970-01-01 00:00:00 UTC

Пример:

SELECT timestamp_seconds(1551692341)

возвращает

2019-03-04 09:39:01 UTC
0 голосов
/ 04 марта 2019

Мне любопытно, зачем вам что-то попроще, чем то, что у вас уже есть.

В качестве альтернативы, BQ имеет поддержку UDF (user defined function), в которой вы можете создавать функции TEMP, встроенные в ваш JS-фрагмент, для анализа значения эпохи.и преобразовать в требуемое значение даты в любом формате, который считается пригодным для данных.

В большинстве случаев целесообразно иметь все такие преобразования форматирования и преобразования значений на уровне приложения, а не создавать специальные утилиты на уровне БД.

В любом случае вам может понадобиться быстрое чтение на здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...