知道 bigquery 一个月的周数

斯威塔

我想知道 bigquery 标准 sql 中某个日期的一个月的周数。在 postgresql 中,如果我写,请
选择 To_char(current_date, 'YYYY-MM-W')
它适用于日期 '25-04-2018' 2018-04-4。
这里 2018 是年,04 是月份,4 是日期所在月份的第四周。
我想要在 bigquery 标准 sql 中类似的东西。如果我写
select format_date("%Y-%m",current_date())
它只给出 2018-04
我也想知道月份的周数。先感谢您。

埃利奥特·布罗萨德

这是解决方案(定义可在查询中使用的 UDF)以及示例。

CREATE TEMP FUNCTION DateWithWeekOfMonth(date DATE) AS (
  CONCAT(
    FORMAT_DATE('%Y-%m-', date),
    CAST(DIV(EXTRACT(DAY FROM date), 7) + 1 AS STRING)
  )
);

SELECT date, DateWithWeekOfMonth(date)
FROM (
  SELECT DATE '2018-04-01' AS date UNION ALL
  SELECT DATE '2018-04-07' UNION ALL
  SELECT DATE '2018-04-08' UNION ALL
  SELECT DATE '2018-04-30'
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章