Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在BigQuery中格式化日期_Sql_Google Analytics_Google Bigquery - Fatal编程技术网

Sql 在BigQuery中格式化日期

Sql 在BigQuery中格式化日期,sql,google-analytics,google-bigquery,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中的字段。下面是用于BigQuery标准SQL的,并假设您的日期字段是字符串类型 #standar

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

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

2017-07-26
07/26/2017
07/26/2017
我认为我应该使用FORMAT_DATETIME子句/方法来实现这一点,我的做法如下:

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

日期是Google Analytics中的字段。

下面是用于BigQuery标准SQL的,并假设您的日期字段是字符串类型

#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

你会想用这个来代替。选择CONVERTVARCHAR[your_date_field],XXX,其中XXX是一个整数值,告诉CONVERT您希望日期为哪种格式。我相信你可以用101来达到你的目的

您可以在standardSql中尝试此操作


分析日期“%Y%m%d”,日期为日期,

列的类型是什么?