use*_*773 4 sql-server calendar date count
我有两张桌子.一个表是具有date
列和kindofday
列的日历.该kindofday
栏目包含'bankday','saturday','sunday'和'holiday'.我需要考虑假期,否则网上有几个查询可以工作......
date kindofday
1999-08-24 00:00:00:000 bankday
Run Code Online (Sandbox Code Playgroud)
我正在努力构建一个可以计算给定日期的工作日数的查询.就像是:
Select [date] + 12 business days
.我不知道如何使用Calendar表作为参考 - 基本上我需要在这个日历表中找到一个日期,然后在一些工作日倒计时并提取该日期.我将把它放在一个函数中,所以不用担心复杂性.我可能没有看到一个愚蠢的简单解决方案.
即使他们不使用我的日历表,我也会接受任何考虑假期的解决方案.我可以改变日历表但是我需要为了使这项工作...即:使用binary
而不是string
'bankday'等...
我试过这个:我已经从日历中删除了所有非银行工作日并添加了一个integer
密钥,然后set @date = (select key from calendar where @date=[date]
然后将该工作日的数量添加到该密钥并返回日期,但问题是何时@date
是非银行工作日它不会在日历表中找到匹配...
将问题改为"下一个@count
银行@start_date
日,哪一个最后发生?"
SELECT @end_date = MAX(date)
FROM (
SELECT TOP(@count)
date
FROM Calendar
WHERE date > @start_date
AND kindofday = 'bankday'
ORDER BY date
) t
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
913 次 |
最近记录: |