postgresql - Postgresql 我想根据今天(1 年的价值)从年、月和日数据中排除周末
问题描述
SELECT to_char(date_trunc('day', (current_date - days)), 'YYYY-MM-DD')
AS date
FROM generate_series(0, 365, 1)
AS days
结果
2021-11-12
2021-11-11
2021-11-10
2021-11-09
2021-11-08
2021-11-07 .....
2020-11-16
2020-11-15
2020-11-14
2020-11-13
2020-11-12 ..... end
如何从年度数据中排除周末数据?
解决方案
只需添加一个 WHERE 子句:
SELECT to_char(day, 'YYYY-MM-DD') AS date
FROM generate_series(current_date - interval '1 year',
current_date,
interval '1 day') AS g(day)
where extract(isodow from g.day) not in (6,7)
我使用了星期一 = 1、星期六 = 6 和星期日 = 7 的日期编号的 ISO 定义。
extract(dow ...)
如果您喜欢星期天 = 0,您可以使用
推荐阅读
- here-api - Oauth 1.0 签名 - 签名不匹配。授权签名或客户端凭证错误
- c# - Pythonnet 将参数传递给 c# dll
- powershell - 使用批处理变量以管理员身份运行 powershell 命令
- css - 多到单列网格?
- batch-file - 当文件或文件夹包含 &(与号)或 ^(插入符号)且全名中没有空格时,%1 参数不正确
- javascript - 从嵌套数组中获取数组
- c++ - 需要帮助解决 hdr histogram C++ 的访问冲突错误
- c# - C#如何创建一个人的集合,然后以某种方式将它们打印出来?
- java - Java 实现的接口方法不能从子类访问
- powershell - 通过powershell更改文件夹预览图像?