Невозможно преобразовать строки в объекты datetime

#sql #google-bigquery

#sql #google-bigquery

Вопрос:

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

 Code:

cast(json_extract_scalar(data, "$.end_date") as datetime) as end_date_datetime

Error:

Invalid datetime string "2020-12-31T18:29:59Z"
  

Пожалуйста, дайте мне знать, что я здесь делаю не так.

Ответ №1:

попробуйте это : cast(JSON_EXTRACT(data, '$.end_date') ) as end_date_datetime

Ответ №2:

Согласно документации DATETIME , тип страниц не поддерживает параметр часового пояса (буква Z для UTC в вашем соответствующем описании ошибки), поэтому для представления полного держателя даты / времени вы можете рассмотреть возможность принятия TIMESTAMP вместо этого:

 cast(json_extract_scalar(data, "$.end_date") as timestamp) as end_date_datetime