在 BigQuery 中格式化日期

dtr*_*inh 0 sql google-analytics google-bigquery

我正在查询 365 天的 Google Analytics 数据,并将数据导出为:

20170726
Run Code Online (Sandbox Code Playgroud)

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

2017-07-26
07/26/2017
07/26/2017
Run Code Online (Sandbox Code Playgroud)

我相信我应该使用 FORMAT_DATETIME 子句/方法来实现这一点,我有这样的:

SELECT
    FORMAT_DATETIME(%m/%d/%Y, date)
Run Code Online (Sandbox Code Playgroud)

日期是 Google Analytics 中的字段。

Mik*_*ant 5

以下是 BigQuery Standard 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`
Run Code Online (Sandbox Code Playgroud)

结果

Row date_string_formatted_as_MM_DD_YYYY date_string_formatted_as_YYYY_MM_DD  
1   07/26/2017                          2017-07-26
Run Code Online (Sandbox Code Playgroud)