【问题标题】:BigQuery not returning milliseconds part in timestampBigQuery 未在时间戳中返回毫秒部分
【发布时间】:2019-10-27 20:27:10
【问题描述】:

根据 Google 的文档 https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions,使用 CURRENT_TIMESTAMP() 函数会返回毫秒/微秒精度的时间戳。

但是,当我使用 bq 在我的 Linux 机器上使用相同的命令时,我无法在几秒钟内获得任何精度。为什么会这样?以下是我得到的结果:

+---------------------+
|         f0_         |
+---------------------+
| 2019-10-27 20:20:53 |
+---------------------+

【问题讨论】:

    标签: sql google-cloud-platform google-bigquery


    【解决方案1】:

    评论有点太长了。

    我很确定他们在那里。你只是看起来不像他们。您可以使用extract() 提取毫秒数:

    select extract(millisecond from current_timestamp)
    

    999/1000 次,这将是非零。

    【讨论】:

    • 是的,bq 似乎是如何表示时间戳的,因为它们在临时结果表中。作为替代方案,它可以转换为字符串:bq query "SELECT CAST(CURRENT_TIMESTAMP() AS STRING) AS Now"
    【解决方案2】:

    这就是 bq 命令行工具显示时间戳的方式。您最多可以在 Web UI 上看到微秒:

    【讨论】:

    • Google Cloud Console for web 上的 BigQuery 现在就像命令行一样被截断。
    猜你喜欢
    • 1970-01-01
    • 2012-04-30
    • 2011-08-02
    • 2022-01-07
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多