select To_char(current_date, 'YYYY-MM-W')<br>
它适用于2018-04-4的日期'25 -04-2018'。 2018年是一年,04是一个月,第4个是日期下降的第四周。 我想要BigQuery Standard SQL中类似的东西。 如果我写的话:
select format_date("%Y-%m",current_date())
仅提供2018-04
我也想知道一个月的一周。 预先感谢您。
HERHE是解决方案(定义您可以在查询中使用的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'
);