# #date #google-bigquery
#Дата #google-bigquery
Вопрос:
у меня есть столбец в моей таблице в bigquery, в котором есть разные строки даты, которые отформатированы как строки:
------------------- | date | ------------------- |2021-12-31 | ------------------- |2021-12-25T15:45:00| ------------------- |2021-11-15 | ------------------- |2021-12-08T09:00:00| ------------------- |2021-12-31 | -------------------
я пытался использовать
EXTRACT(DATE FROM PARSE_TIMESTAMP("%FT%T", "2021-12-08T15:45:00")) as date
но это не работает для строки даты ГГГГ-ММ-ДД. Я получаю сообщение об ошибке
Не удалось проанализировать входную строку «2021-12-31
И когда я пытаюсь
PARSE_DATE('%Y%m%d', LEFT("2021-12-21T15:45:00", 10)) AS date
я получаю одно и то же сообщение об ошибке для обоих типов строк этого столбца.
Как я могу отформатировать строки в датах в форме ГГГГ-ММ-ДД?
Ответ №1:
Рассмотрим ниже простой подход
select *, date(date_string) as date_date from your_table
если применить к образцам данных, как в вашем вопросе
with your_table as ( select '2021-12-31' date_string union all select '2021-12-25T15:45:00' union all select '2021-11-15' union all select '2021-12-08T09:00:00' union all select '2021-12-31' )
выход есть
Комментарии:
1. Ну, это не могло быть проще. Спасибо! Это прекрасно работает.