Попытка преобразовать поле кода эпохи (строковый тип) во временную метку - PullRequest
0 голосов
/ 21 ноября 2018

Пытаясь преобразовать код эпохи в метку времени, в устаревшем SQL это работает нормально, а в стандартном SQL я получаю ошибку.Имя поля custom_field_6 (поле строкового типа) представляет время эпохи, и я хочу преобразовать его в метку времени (в стандартном SQL)

В устаревшем SQL я сделал следующее: select custom_field_6 as custom_field_6, timestamp(custom_field_6) as custom_field_6_convert FROM [yellowhead-visionbi-rivery:yellowhead_prod.affise_conversions]

Вывод запроса

В стандартном sql:

select custom_field_6 as custom_field_6, cast(custom_field_6 as date) as custom_field_6_converted FROM yellowhead-visionbi-rivery.yellowhead_prod.affise_conversions``

Ошибка, которую я получаю : «недействительная дата»

1 Ответ

0 голосов
/ 21 ноября 2018

Ниже id для BigQuery Standard SQL

#standardSQL
SELECT 
  custom_field_6, 
  TIMESTAMP_SECONDS(CAST(custom_field_6 AS INT64)) custom_field_6_convert
FROM `yellowhead-visionbi-rivery.yellowhead_prod.affise_conversions`  

вы можете проверить его, используя фиктивные данные, как показано ниже

#standardSQL
WITH `project.dataset.table` AS (
  SELECT '1540051185' custom_field_6 UNION ALL
  SELECT '1540252572' 
)
SELECT 
  custom_field_6, 
  TIMESTAMP_SECONDS(CAST(custom_field_6 AS INT64)) custom_field_6_convert
FROM `project.dataset.table`   

с результатом

Row custom_field_6  custom_field_6_convert   
1   1540051185      2018-10-20 15:59:45 UTC  
2   1540252572      2018-10-22 23:56:12 UTC  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...