gpt4 book ai didi

sql - 在 BigQuery SQL for Data Studio 中格式化 Firestore 时间戳

转载 作者:行者123 更新时间:2023-12-02 03:09:01 25 4
gpt4 key购买 nike

我们正在将 Firestore 数据导入 BigQuery,以在 Data Studio 中生成报告。

以下内容适用于 SQL 时间戳,但不适用于 Firestore-JSON 时间戳。

SELECT 
PARSE_TIMESTAMP('%Y%m%d', JSON_VALUE(`data`, "$.updated_at")) AS `updated_at`
FROM
`project.firestore_export.profiles_raw_latest`

我们的日期采用 Firestore timestamp 格式,位于名为 updated_at 的 JSON 字段中的 data 列中。

如何获得最终在 Data Studio 中使用的可用日期格式?

编辑:当我查询不带 JSON_VALUE 的字段时,它返回为 null,这是 Firestore 中的标准时间戳格式。当我在 BigQuery 中预览数据时,它会以 JSON 对象的形式返回:{"_seconds":1569585420,"_nanoseconds":586000000}

最佳答案

假设您不需要亚秒级精度,那么您可以使用:

#standardSQL
with sample_table as (
select '{"_seconds":1569585420,"_nanoseconds":586000000}' as ts
)
select PARSE_DATETIME("%s", JSON_EXTRACT_SCALAR(ts, "$['_seconds']"))
from sample_table;

输出:

+---------------------+
| f0_ |
+---------------------+
| 2019-09-27T11:57:00 |
+---------------------+

如果您确实需要更精确的时间戳,可以使用 timestamp_micros() .

关于sql - 在 BigQuery SQL for Data Studio 中格式化 Firestore 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com