sql - 计算天数返回错误计数
问题描述
WITH mycte AS
(
SELECT CAST(Convert(date,getdate()) AS DATETIME) DateValue
UNION ALL
SELECT DateValue + 1
FROM mycte
WHERE DateValue <= ('02-28-2021)
)
--ISSUE HERE
(SELECT SUM(COUNT(*)) OVER() AS Count
FROM mycte
WHERE DatePart("w",DateValue) > 1 AND DatePart("w",DateValue) < 7
group by DatePart("w",DateValue))
As WK
例如,我在计算今天(2021 年 2 月 24 日)和 2 月底之间的周六、周日和工作日数时也是如此:
但是今天计算:星期三、星期四和星期五应该返回 3 而不是 4 每个图像的结果。我不知道为什么在今天和 2 月 28 日之间没有计数时它会返回周一的计数(何时selecting DatePart("w",DateValue)) for > 1 & < 7 or between 2 & 6
)
解决方案
推荐阅读
- mysql - MySQL 在同一条记录上死锁
- java - 使用 Firebase 数据库的 Android 应用程序在启动时不断崩溃?
- c++ - spdlog 无法在 23:59 小时创建dailylog
- ruby-on-rails-6 - 无法加载此类文件 -- mimemagic/overlay (LoadError)
- postgresql - 从时间戳列 postgresql 获取月份名称
- autohotkey - 在 Microsoft Edge 处于活动状态时执行操作的自动热键脚本
- visual-studio-code - 将 VS Code 设置为在启动时始终打开一个新窗口
- java - 用 AudioRecord Android 替换 RandomAccessFile
- azureservicebus - 我正在使用 azure service bus 的主题和订阅者。在 3 个订阅者中,只有一个收到消息,其余两个正在接收其他消息
- jenkins - Jenkins 脚本化管道不会返回导致并行构建作业失败的所有原因