Как вы конвертируете эпоху в BigQuery?

-4

Так что я пытаюсь сделать, просто конвертировать эпоху в формат даты. Входы, которые я получаю, варьируются довольно немного,

1518121195039482
1518122508171529
1518120794058543
1518124107950252

Все это в микросекундах. Мне интересно, как мне преобразовать это вместо микросекунд, превратить его в фактическую дату, например:

2018-07-28
2018-07-01
2018-07-10

Я пробовал сделать несколько разных запросов, но еще не получил его, у меня есть ошибки или ошибки, прежде чем я могу запустить запрос.

Любая помощь будет замечательной! Если кому-то нужна дополнительная информация, пожалуйста, дайте мне знать, и я попытаюсь объяснить это как можно лучше.

-Maykid

спросил(а) 2021-01-19T12:26:15+03:00 2 месяца, 3 недели назад
1
Решение
77

в стандартном SQL-стандарте BigQuery вы должны использовать функцию TIMESTAMP_MICROS() для этого, как в примере ниже

#standardSQL
WITH 'project.dataset.table' AS (
SELECT 1518121195039482 ts UNION ALL
SELECT 1518122508171529 UNION ALL
SELECT 1518120794058543 UNION ALL
SELECT 1518124107950252
)
SELECT ts, TIMESTAMP_MICROS(ts)
FROM 'project.dataset.table'

в BigQuery Legacy SQL - вы можете использовать USEC_TO_TIMESTAMP() для этого, как в примере ниже

#legacySQL
SELECT ts, USEC_TO_TIMESTAMP(ts)
FROM
(SELECT 1518121195039482 ts),
(SELECT 1518122508171529 ts),
(SELECT 1518120794058543 ts),
(SELECT 1518124107950252 ts)

оба возвращаются:

Row ts                  f0_  
1 1518121195039482 2018-02-08 20:19:55.039482 UTC
2 1518122508171529 2018-02-08 20:41:48.171529 UTC
3 1518120794058543 2018-02-08 20:13:14.058543 UTC
4 1518124107950252 2018-02-08 21:08:27.950252 UTC

ответил(а) 2021-01-19T12:26:15+03:00 2 месяца, 3 недели назад
62

Вы хотите TIMESTAMP_MICROS():

select timestamp_micros(1518121195039482)

Существуют также функции: timestamp_millis() и timestamp_seconds() зависит от того, что вы подразумеваете под "эпохой".

ответил(а) 2021-01-19T12:26:15+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема