在BigQuery中格式化日期

时间:2018-07-06 22:23:08

标签: sql google-analytics google-bigquery

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

20170726

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

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

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

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

日期是Google Analytics(分析)中的字段。

3 个答案:

答案 0 :(得分:3)

以下是适用于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`

有结果

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

答案 1 :(得分:0)

您可以尝试使用standardSql

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

答案 2 :(得分:-1)

您将改为使用它。 SELECT CONVERT(VARCHAR, [your_date_field] , XXX),其中XXX是一个整数值,它告诉CONVERT()您希望日期成为哪种格式。我相信您可以出于自己的目的使用101