google-bigquery - Google大查询中是否有查找ISO周数/日历年周数的第一个日期和最后一个日期的功能?
问题描述
让我们假设一个日历周。
周数是 2020 年 2 月 2 日。
我正在寻找方法来找到一周的开始和结束日期。任何指向内置函数或任何其他方法的指针都会有所帮助。
解决方案
我没有看到直接的方法,但是使用现有的日期函数,构建一个可以查询的查找表非常容易:
CREATE TABLE day_of_week_table AS
SELECT
date,
EXTRACT(ISOYEAR FROM date) AS isoyear,
EXTRACT(ISOWEEK FROM date) AS isoweek,
EXTRACT(WEEK FROM date) AS week,
EXTRACT(DAYOFWEEK FROM date) AS dayOfWeek
FROM UNNEST(GENERATE_DATE_ARRAY('2020-1-1', '2021-1-1')) AS date
ORDER BY date;
粘贴此表的前几行
| date | isoyear | isoweek | week | dayOfWeek |
+------------+---------+---------+------+-----------+
| 2020-01-01 | 2020 | 1 | 0 | 4 |
| 2020-01-02 | 2020 | 1 | 0 | 5 |
| 2020-01-03 | 2020 | 1 | 0 | 6 |
| 2020-01-04 | 2020 | 1 | 0 | 7 |
| 2020-01-05 | 2020 | 1 | 1 | 1 |
| 2020-01-06 | 2020 | 2 | 1 | 2 |
| 2020-01-07 | 2020 | 2 | 1 | 3 |
| 2020-01-08 | 2020 | 2 | 1 | 4 |
| 2020-01-09 | 2020 | 2 | 1 | 5 |
| 2020-01-10 | 2020 | 2 | 1 | 6 |
| 2020-01-11 | 2020 | 2 | 1 | 7 |
推荐阅读
- node.js - 我们如何处理在 mongodb 中保存大小大于 16MB 的对象,这是任何文档的硬限制
- openssl - 带有 APR 连接器和 HTTPS 的 Tomcat 8.5 配置
- r - 使用 Rqtl 包的 R 图上的希腊字母问题
- python - 在自动化脚本(Python)中修改 childMbo 时,有没有办法设置修改的父 mbo?
- javascript - 单击按钮时滚动到没有 ID 的文本
- java - Rest api 如何在不包含 Jersey 证书的情况下工作?
- java - 当我们使用 TestNG 并行执行运行脚本时,没有正确生成范围报告输出。(范围报告版本 3.1)
- angular - 条件导入/覆盖模块导入
- javascript - 选择列表显示键而不是值
- oracle-apex - 在 Oracle APEX 19.2 中增加最大 Web 服务请求