Преобразование строки в метку времени и использование timestamp_diff в BigQuery SQL - PullRequest
1 голос
/ 25 сентября 2019

У меня есть две разные строки:

создан = 2019-06-30T17:33:09.879350220Z
обновлен = 2019-09-25 06:42:45

Я должен выполнить TIMESTAMP_DIFF(created_date, updated_date, HOUR) в условии.

Для второго CAST(updated AS TIMESTAMP) работает, но когда я делаю CAST(created AS TIMESTAMP), он показывает мне ошибку Invalid Timestamp.

Как я могу привести созданную строку к TIMESTAMPнаиболее эффективно?

Ответы [ 2 ]

1 голос
/ 25 сентября 2019

Да, этот формат довольно сложный, но работает с форматом , например:

select parse_timestamp('%Y-%m-%dT%H:%M:%E*SZ','2019-06-30T17:33:09.879350220Z')

возвращает:

2019-06-30 17:33:09.879350 UTC
1 голос
/ 25 сентября 2019

Вы можете использовать parse_timestamp () .

  SELECT PARSE_TIMESTAMP('%Y-%m-%d %H:%M:%S','2019-09-25 06:42:45')
...