sql - 如何从 sql 中的给定日期获取下一个特定日期?
问题描述
我想从特定日期找到即将到来的星期四日期。例如,我想要从 22-09-2021 日期开始的 23-09-2021(星期四)。我想要从 2021 年 9 月 23 日到 2021 年 9 月 30 日。无论我提出什么日期,我都希望在星期四到来。
解决方案
这是一个添加正确天数的问题。假设您使用的是美国英语语言版本的 SQL Server,您可以使用蛮力方法:
select dateadd(day,
(case datename(weekday, datecol)
when 'Monday' then 3
when 'Tuesday' then 2
when 'Wednesday' then 1
when 'Thursday' then 0 -- or perhaps 7
when 'Friday' then 6
when 'Saturday' then 5
when 'Sunday' then 4
end),
datecol
) as the_thursday
如果需要非英语支持,您可以使用format()
.
推荐阅读
- c# - 如何检查字节数组中是否存在特定字符串?
- c# - IdentityServer4 为 IDX10609 的隐式令牌流问题配置:解密失败。未尝试任何键:令牌:'[PII 已隐藏]
- postgresql - pg_restore 如何处理 GENERATED ALWAYS AS IDENTITY 列?
- c - 在C中计算欧几里得距离矩阵
- r - lapply:拟合数千个混合模型并能够提取 lsmeans
- json - Angular:如何将 JSON 变量解析为 SCSS
- c - 编译器是否会在嵌入式代码 C 中自动添加变量 argc 和 argv?
- java - java中元素的计数频率
- node.js - SCRIPT1028:SCRIPT1028:预期标识符、字符串或数字边缘
- c# - 在opencv中检测一个半完整的椭圆