Извлечь дату, час из времени ut c - PullRequest
0 голосов
/ 04 мая 2020

Я бы хотел извлечь дату и час из UT C из таблицы ниже в большом запросе. Я использовал метку времени для получения даты или времени с помощью приведенного ниже кода. Я хотел бы применить код для всего столбца. Как применить метку времени для всего столбца? Можете ли вы помочь с этим?

SELECT EXTRACT(HOUR FROM TIMESTAMP "2020-05-03 16:49:47.583494")

Мои данные такие

enter image description here

Я хочу такой результат: enter image description here

1 Ответ

2 голосов
/ 04 мая 2020

Вы можете сделать это следующим образом:

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.

Вывод:

enter image description here

Демонстрация:

Вы можете проверить демо здесь .


Редактировать:

Первоначально я думал, что 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...