我想从bigquery的下表中的UTC时间提取日期和小时。我已经使用时间戳通过以下代码获取日期或时间。我想将代码应用于整个专栏。如何为整列应用时间戳?你能帮忙吗?
SELECT EXTRACT(HOUR FROM TIMESTAMP "2020-05-03 16:49:47.583494")
我的数据是这样的
答案 0 :(得分:2)
您可以这样做:
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
。
输出:
演示:
您可以检查demo here。
编辑:
我最初的想法是OP希望查询MySQL(可能是BigQuery基于该查询)。但是事实证明,BigQuery不是基于MySQL的。因此,您可以在BigQuery中使用FORMAT_TIMESTAMP,这就是查询的样子:
SELECT Occurrence AS original_value,
FORMAT_TIMESTAMP("%e/%m/%Y", Occurrence) AS date,
FORMAT_TIMESTAMP("%l%p", Occurrence) AS hour
FROM mytable