【问题标题】:Formatting a Date in BigQuery在 BigQuery 中格式化日期
【发布时间】:2018-07-06 22:23:08
【问题描述】:

我正在查询 365 天的 Google Analytics(分析)数据,数据导出为:

20170726

我想要的是它以某种形式解析:

2017-07-26
07/26/2017
07/26/2017

我相信我应该使用 FORMAT_DATETIME 子句/方法来完成此任务,并且是这样的:

SELECT
    FORMAT_DATETIME(%m/%d/%Y, date)

日期是 Google Analytics 中的字段。

【问题讨论】:

  • 列的类型是什么?

标签: sql google-analytics google-bigquery


【解决方案1】:

以下是 BigQuery 标准 SQL 并假设您的日期字段是 STRING 类型

#standardSQL
WITH `project.dataset.table` AS (
  SELECT '20170726' date
)
SELECT 
  FORMAT_DATE('%m/%d/%Y', PARSE_DATE('%Y%m%d', date)) AS `date_string_formatted_as_MM_DD_YYYY`,
  FORMAT_DATE('%Y-%m-%d', PARSE_DATE('%Y%m%d', date)) AS `date_string_formatted_as_YYYY_MM_DD`
FROM `project.dataset.table`

结果

Row date_string_formatted_as_MM_DD_YYYY date_string_formatted_as_YYYY_MM_DD  
1   07/26/2017                          2017-07-26

【讨论】:

    【解决方案2】:

    你可以试试这个standardSql

    PARSE_DATE('%Y%m%d', date) as date,

    【讨论】:

      【解决方案3】:

      你会想用这个来代替。 SELECT CONVERT(VARCHAR, [your_date_field] , XXX) 其中 XXX 是一个整数值,它告诉 CONVERT() 您希望日期采用哪种格式。我相信您可以将101 用于您的目的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-29
        • 2017-02-13
        • 2021-01-23
        • 2011-11-04
        • 2017-12-10
        • 2014-10-22
        • 1970-01-01
        相关资源
        最近更新 更多