May*_*kid 2 sql google-bigquery
所以我想做的只是将纪元转换为日期格式。我得到的输入变化很大,
1518121195039482
1518122508171529
1518120794058543
1518124107950252
Run Code Online (Sandbox Code Playgroud)
所有这些都以微秒为单位。我想知道如何将其转换为实际日期,而不是微秒,例如:
2018-07-28
2018-07-01
2018-07-10
Run Code Online (Sandbox Code Playgroud)
我尝试过执行几个不同的查询,但还没有完全掌握它,在运行查询之前要么不断出错,要么出错。
任何帮助都会很棒!如果有人需要更多信息,请告诉我,我会尽力解释。
-Maykid
在 BigQuery Standard SQL 中,您应该使用 TIMESTAMP_MICROS() 函数,如下例所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1518121195039482 ts UNION ALL
SELECT 1518122508171529 UNION ALL
SELECT 1518120794058543 UNION ALL
SELECT 1518124107950252
)
SELECT ts, TIMESTAMP_MICROS(ts)
FROM `project.dataset.table`
Run Code Online (Sandbox Code Playgroud)
在 BigQuery Legacy SQL 中 - 您可以使用 USEC_TO_TIMESTAMP() 来实现此目的,如下例所示
#legacySQL
SELECT ts, USEC_TO_TIMESTAMP(ts)
FROM
(SELECT 1518121195039482 ts),
(SELECT 1518122508171529 ts),
(SELECT 1518120794058543 ts),
(SELECT 1518124107950252 ts)
Run Code Online (Sandbox Code Playgroud)
两者都返回:
Row ts f0_
1 1518121195039482 2018-02-08 20:19:55.039482 UTC
2 1518122508171529 2018-02-08 20:41:48.171529 UTC
3 1518120794058543 2018-02-08 20:13:14.058543 UTC
4 1518124107950252 2018-02-08 21:08:27.950252 UTC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8891 次 |
| 最近记录: |