Google bigquery 将转换日期自动化为YYWW格式
我需要将2016年最后一周的所有日期逐日期转换为YYYYWW格式 一切正常,直到2017-01-01: “201752”应为“201652” 自动化历史日期的最佳方法 大概是这样的:Google bigquery 将转换日期自动化为YYWW格式,google-bigquery,bigquery-standard-sql,Google Bigquery,Bigquery Standard Sql,我需要将2016年最后一周的所有日期逐日期转换为YYYYWW格式 一切正常,直到2017-01-01: “201752”应为“201652” 自动化历史日期的最佳方法 大概是这样的: IF (REGEXP_EXTRACT(date,r'\d{4}-\d{2}-(\d{2})') = CAST('01' AS STRING) AND Week = CAST('52' AS STRING), Year-1, Year) %Y将返回日期的日历年,而不是ISO年。要返回ISO年,即2016年2
IF (REGEXP_EXTRACT(date,r'\d{4}-\d{2}-(\d{2})') = CAST('01' AS STRING)
AND Week = CAST('52' AS STRING), Year-1, Year)
%Y将返回日期的日历年,而不是ISO年。要返回ISO年,即2016年2017年1月1日,请使用%G。另请参见。%Y将返回日期的日历年,而不是ISO年。要返回ISO年,即2016年2017年1月1日,请使用%G。另请参见。下面是有关BigQuery标准SQL的信息 标准SQL 输入为 选择日期 从最不安[ 日期“2016-12-26”, 日期“2016-12-27”, 日期“2016-12-28”, 日期“2016-12-29”, 日期“2016-12-30”, 日期“2016-12-31”, 日期“2017-01-01”]为日期 选择 日期 设置日期“%G%V”的格式,日期为YearWeek 从输入 按日期订购 另请注意-在您的示例中: 1.您不需要将日期转换为DATE,因为DATE已经是DATE类型
2.你不需要约会。。。AS STRING AS FORMAT_DATE已返回字符串以下是BigQuery标准SQL 标准SQL 输入为 选择日期 从最不安[ 日期“2016-12-26”, 日期“2016-12-27”, 日期“2016-12-28”, 日期“2016-12-29”, 日期“2016-12-30”, 日期“2016-12-31”, 日期“2017-01-01”]为日期 选择 日期 设置日期“%G%V”的格式,日期为YearWeek 从输入 按日期订购 另请注意-在您的示例中: 1.您不需要将日期转换为DATE,因为DATE已经是DATE类型 2.你不需要约会。。。AS STRING AS FORMAT_DATE已返回字符串
Row date YearWeek Year Week
1 2016-12-26 201652 2016 52
2 2016-12-27 201652 2016 52
3 2016-12-28 201652 2016 52
4 2016-12-29 201652 2016 52
5 2016-12-30 201652 2016 52
6 2016-12-31 201652 2016 52
7 2017-01-01 201752 2017 52
IF (REGEXP_EXTRACT(date,r'\d{4}-\d{2}-(\d{2})') = CAST('01' AS STRING)
AND Week = CAST('52' AS STRING), Year-1, Year)