我想知道bigquery标准sql中一个月的星期数。如果我写的话,在postgresql中,
选择To_char(current_date,' YYYY-MM-W')
它适用于日期' 25-04-2018'如2018-04-4
这里是2018年,04是月份,4是本月的第4个星期
我想在bigquery标准sql中使用类似的东西。
如果我写了
选择format_date("%Y-%m",current_date())
它只给出2018-04
我也想知道一周的月份数。
提前谢谢。
答案 0 :(得分:1)
以下是解决方案(定义可在查询中使用的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'
);