Можете ли вы применить функцию BigQuery PARSE_TIMESTAMP ко всему полю? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть поле "mytimestamp", которое в настоящее время имеет тип данных STRING, с синтаксисом "DD / MM / YYYY чч: мм: сс", и я хочу преобразовать его в поле типа TIMESTAMP. Функция PARSE_TIMESTAMP работает для заданного аргумента c, например,

SELECT PARSE_TIMESTAMP('%d/%m/%Y %H:%M:%S', '15/04/2020 15:13:52') AS mynewtimestamp

, но при попытке применить это ко всему столбцу следующим образом

SELECT PARSE_DATETIME('%d/%m/%Y %H:%M:%S', mytimestamp) AS mynewtimestamp
FROM `project.dataset.table`

выдает вместо этого ошибку "Не удалось проанализировать входная строка "mytimestamp" "

Ответы [ 2 ]

2 голосов
/ 15 апреля 2020

Возможно, у вас плохие данные в столбце. Вы можете найти проблемы, используя:

select mytimestamp
from `project.dataset.table`
where SAFE.PARSE_DATETIME('%d/%m/%Y %H:%M:%S', mytimestamp) is null
0 голосов
/ 15 апреля 2020

вместо этого выдает ошибку "Не удалось проанализировать входную строку" mytimestamp ""

Сообщение об ошибке предполагает, что вместо передачи mytimestamp в качестве имени столбца - вы передаете "mytimestamp" как строка - так что проверьте ваш запрос для этого

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