BigQuery 解析日期不适用于 %Y%W 格式

问题描述 投票:0回答:2

一切都在截图中: 我有一个包含格式为

%Y%W
的日期字符串的列。我想获取相应周的星期日的日期(例如。
202201
返回
2022-01-09

PARSE_DATE
函数无法正确解析数据,它只是正确返回年份,但不解析周数

来自医生

格式字符串完全支持除%a之外的大多数格式元素, %A、%g、%G、%j、%u、%U、%V、%w 和 %W

那么如何解决这个问题呢?

数据样本:

week_year
202204
202208
202203
202205
202202
202207
202206

这个问题相关,但没有提供问题的答案

sql date google-cloud-platform google-bigquery
2个回答
0
投票

丑陋但有效的解决方案(灵感来自this):

DATE_SUB( DATE_ADD(DATE_TRUNC(PARSE_DATE('%Y%m%d',
          CONCAT(SUBSTR(week_year, 1, 4), '0601')), isoyear ), INTERVAL CAST(SUBSTR(week_year, -2) AS int64) WEEK), INTERVAL 1 day),
  

0
投票

这是有效的: 选择 PARSE_DATE('%g %V %u', '19 46 1')

它将为您提供 2019 年第 46 周的星期一 (1)

© www.soinside.com 2019 - 2024. All rights reserved.