Вы можете сделать это следующим образом:
SELECT my_column AS original_value,
DATE_FORMAT(STR_TO_DATE(my_column, "%Y-%m-%d %H:%i:%s.%f UTC"), "%e/%m/%Y") AS date,
DATE_FORMAT(STR_TO_DATE(my_column, "%Y-%m-%d %H:%i:%s.%f UTC"), "%l%p") AS hour
FROM my_table;
Я предполагаю, что столбец VARCHAR
, поэтому я конвертирую его в DATE
.
Вывод:
Демонстрация:
Вы можете проверить демо здесь .
Редактировать:
Первоначально я думал, что OP хотел запрос для MySQL (вероятно, BigQuery основан на этом). Но оказывается, что BigQuery не основан на MySQL. Таким образом, вы можете использовать FORMAT_TIMESTAMP в BigQuery, вот как будет выглядеть запрос:
SELECT Occurrence AS original_value,
FORMAT_TIMESTAMP("%e/%m/%Y", Occurrence) AS date,
FORMAT_TIMESTAMP("%l%p", Occurrence) AS hour
FROM mytable