Как вы конвертируете эпоху в BigQuery?
Так что я пытаюсь сделать, просто конвертировать эпоху в формат даты. Входы, которые я получаю, варьируются довольно немного,
1518121195039482
1518122508171529
1518120794058543
1518124107950252
Все это в микросекундах. Мне интересно, как мне преобразовать это вместо микросекунд, превратить его в фактическую дату, например:
2018-07-28
2018-07-01
2018-07-10
Я пробовал сделать несколько разных запросов, но еще не получил его, у меня есть ошибки или ошибки, прежде чем я могу запустить запрос.
Любая помощь будет замечательной! Если кому-то нужна дополнительная информация, пожалуйста, дайте мне знать, и я попытаюсь объяснить это как можно лучше.
-Maykid
в стандартном 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
Вы хотите TIMESTAMP_MICROS()
:
select timestamp_micros(1518121195039482)
Существуют также функции: timestamp_millis()
и timestamp_seconds()
зависит от того, что вы подразумеваете под "эпохой".
- Вопросы
- Google-bigquery
- Как вы конвертируете эпоху в BigQuery?