求一个能搜索出规定工作日内未完成工作的所有记录的算法

hwyqy 2013-11-20 06:41:16
数据库里有个表,表里有两个字段,字段A 提交时间 字段B 审核时间

规定提交后3个工作日内完成审核(遇节假日也顺延)

数据库中的记录数不算多,大概会有几W条,一般不超过10W

问题在于
1、遇双休日顺延的问题,似乎只能先搜索出超期的,然后再一条一条判断,似乎效率不高
2、节假日判断的问题

我感觉这个算法应该比较成熟了,请高手指点
...全文
269 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-11-21
  • 打赏
  • 举报
回复
肯定不是算出来的,而是排出来的。因为节假日是人为定的。
winner2050 2013-11-21
  • 打赏
  • 举报
回复
这不是很简单的事情吗? 弄个时间表,穷举出一年或者两年的时间顺延结果。 这个表的数据要么用存储过程事先准备好,要么用c#准备好。 12月28日 顺延到12月31日 12月29日 顺延到1月8日 12月30日 顺延到1月9日
hwyqy 2013-11-21
  • 打赏
  • 举报
回复
引用 4 楼 sp1234 的回复:
对于派发任务的工作而言,你在记录下这个数据的时候,就应该把“审核过期日期”给计算并保存在数据库中了,而不是事后去“先搜索、再判断”之类的。
是的,主要是原来没有这个功能,是用了两年后,然后想新增这个,所以数据库里没有这个字段,也限制了我的思维,一直想着事后再判断 看来最简单的方法就是给每个需要审核的表(一共有五六个)再加上到期日的字段了 如何判断顺延,我是有方法的,也就是判断是周六还是周日,再在表里搜索节假日了,然后有一天就多顺延一天 感谢,我来给表增加字段了
  • 打赏
  • 举报
回复
对于派发任务的工作而言,你在记录下这个数据的时候,就应该把“审核过期日期”给计算并保存在数据库中了,而不是事后去“先搜索、再判断”之类的。
  • 打赏
  • 举报
回复
查询之前,你可以先写一个用户自定义函数,对于每一个日期而返回一个“到期日期”,然后用于一个select查询的条件部分。这只是简单的技术问题(是你不知道“用户自定义函数”概念问题)。 通常,到期日应该是预先在数据库表中就有的字段,而不是一遍遍临时查询时去计算的。这个属于设计问题,而不是技术问题。

62,040

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧