Google bigquery 从utc时间提取日期,小时

Google bigquery 从utc时间提取日期,小时,google-bigquery,Google Bigquery,我想从bigquery的下表中提取UTC时间的日期和小时。我已经使用时间戳来获取日期或时间,使用下面的代码。我想为整个专栏应用代码。如何为整个列应用时间戳?你能帮忙吗 SELECT EXTRACT(HOUR FROM TIMESTAMP "2020-05-03 16:49:47.583494") 我的数据是这样的 我想要这样的结果: 您可以这样做: SELECT my_column

我想从bigquery的下表中提取UTC时间的日期和小时。我已经使用时间戳来获取日期或时间,使用下面的代码。我想为整个专栏应用代码。如何为整个列应用时间戳?你能帮忙吗

SELECT EXTRACT(HOUR FROM TIMESTAMP "2020-05-03 16:49:47.583494")
我的数据是这样的

我想要这样的结果:
您可以这样做:

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的。因此,您可以在BigQuery中使用,以下是查询的外观:

SELECT Occurrence                               AS original_value,
       FORMAT_TIMESTAMP("%e/%m/%Y", Occurrence) AS date,
       FORMAT_TIMESTAMP("%l%p", Occurrence)     AS hour
FROM mytable

您可以这样做:

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的。因此,您可以在BigQuery中使用,以下是查询的外观:

SELECT Occurrence                               AS original_value,
       FORMAT_TIMESTAMP("%e/%m/%Y", Occurrence) AS date,
       FORMAT_TIMESTAMP("%l%p", Occurrence)     AS hour
FROM mytable


您希望看到什么样的确切结果?为什么标题是“分钟”和关于“小时”的问题?@Felipe,对不起,我需要时间和日期作为两个独立的列扫描你能准确地告诉我你想要结果的样子吗?@Felipe,请查看下表。2020年5月3日上午5点2020年5月4日上午8点2020年5月5日下午12点2020年5月6日9点您想看到什么确切结果?为什么标题是“分钟”和关于“小时”的问题?@Felipe,对不起,我需要时间和日期作为两个独立的列扫描你能准确地告诉我你想要结果的样子吗?@Felipe,请查看下表。2020年5月3日上午5点2020年5月4日上午8点2020年5月5日下午12点2020年5月6日上午9点@Mushif,我的原值为timestamp@AbdurRahim然后您可以直接使用
DATE\u格式
。@如果,我使用的是bigquery。它说:找不到函数:日期格式在[2:8]了解有关BigQuery SQL函数的更多信息。这是我的代码:选择事件作为原始值,日期格式(事件,%Y-%m-%d%H:%i:%s.%f UTC“,%e/%m/%Y”)作为日期,日期格式(事件,%Y-%m-%d%H:%i:%s.%f UTC”,“%l%p”)作为从mytable@AbdurRahim我已经更新了我的答案。请查看编辑部分。@如果,我的原始值为timestamp@AbdurRahim然后您可以直接在上面使用
DATE\u格式
。@Mushif,我使用的是bigquery。它说:未找到函数:DATE\u格式在[2:8]了解有关BigQuery SQL函数的详细信息。以下是我的代码:选择事件作为原始值,日期格式(事件,“%Y-%m-%d%H:%i:%s.%f UTC”、“%e/%m/%Y”)作为日期,日期格式(事件,“%Y-%m-%d%H:%i:%s.%f UTC”、“%l%p”)从一小时起mytable@AbdurRahim我已经更新了我的答案。请查看编辑部分。