【问题标题】:Extracting date from timestamp in Bigquery: a preferable method从 Bigquery 中的时间戳中提取日期:一种更可取的方法
【发布时间】:2017-08-29 07:50:12
【问题描述】:

向 Bigquery 专家提问。

这是使用标准 SQL 从 Bigquery 中的时间戳中提取日期的两种方法

#standardSQL
#1
DATE(TIMESTAMP_MILLIS(CAST((timestamp) AS INT64)))
#2
EXTRACT(DATE FROM TIMESTAMP_MILLIS(timestamp))

哪个更可取,为什么?谢谢!

【问题讨论】:

    标签: timestamp google-bigquery bigquery-standard-sql


    【解决方案1】:

    这真的取决于个人喜好;一个并不优于另一个,因为它们具有相同的语义和性能。支持使用EXTRACT 的论点是,如果您在选择列表中提取其他日期/时间部分,它会反映它们。例如:

    SELECT
      EXTRACT(DATE FROM TIMESTAMP_MILLIS(timestamp)) AS date,
      EXTRACT(ISOYEAR FROM TIMESTAMP_MILLIS(timestamp)) AS iso_year,
      EXTRACT(ISOWEEK FROM TIMESTAMP_MILLIS(timestamp)) AS iso_week
    FROM YourTable;
    

    相比:

    SELECT
      DATE(TIMESTAMP_MILLIS(timestamp)) AS date,
      EXTRACT(ISOYEAR FROM TIMESTAMP_MILLIS(timestamp)) AS iso_year,
      EXTRACT(ISOWEEK FROM TIMESTAMP_MILLIS(timestamp)) AS iso_week
    FROM YourTable;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      相关资源
      最近更新 更多