计算开始日期和当前日期之间的工作日

ura歌

我试图使用给定1或0的预定义INT值作为工作日,或者不计算滚动工作日序列。我尝试了很多不同的代码,并在此处签出了不同的文章,但没有一个具体的足以与我的一起工作。

预定义的INT值是“ business_day_flag_int”。这是通过转换计算得出的,给我“ day_business_day_flag”(有点值)。当前,周六/周日和银行假日为“ day_business_day_flag”触发0,而周一至周五为非假日则将其设为1。

如何使它在可以添加到表生成文件其余部分的Update表中工作?如果需要更多信息,请告诉我。

我已经尝试过对这里的内容进行一系列不同的更改和变化。如果删除日期值,它将为我提供大约12600个工作日列中所有行的整数值。如果我使用日期范围,它会给我

DECLARE @StartDate DATETIME = '01/01/2000' --Starting value of Date Range
DECLARE @EndDate DATETIME = '01/01/2050' --End Value of Date Range
DECLARE
    @DayOfWeekInMonth INT,
    @DayOfWeekInYear INT,
    @DayOfQuarter INT,
    @WeekOfMonth INT,
    @CurrentYear INT,
    @CurrentMonth INT,
    @CurrentQuarter INT
DECLARE @CurrentDate AS DATETIME = @startDate
    SET @CurrentMonth = DATEPART(MM, @CurrentDate)
    SET @CurrentYear = DATEPART(YY, @CurrentDate)
    SET @CurrentQuarter = DATEPART(QQ, @CurrentDate)


UPDATE [EDW_MDM].[dbo].[CALENDAR_DIM] SET 
    business_day_flag_int = Convert(INT, day_business_day_flag)
UPDATE [EDW_MDM].[dbo].[CALENDAR_DIM] SET 
    rolling_business_day_sequence = (SELECT count(business_day_flag_int) FROM [EDW_MDM].[dbo].[CALENDAR_DIM]
    WHERE business_day_flag_int = 1 and
    day_date between @StartDate and @CurrentDate)

我希望“ rolling_business_day_sequence”列按顺序计算过去的工作日。例如,第1行= 1,第2行= 2,依此类推。直到日历结束。

更新1:将代码行编辑为

UPDATE [EDW_MDM].[dbo].[FCFCU_CALENDAR_DIM] SET 
    rolling_business_day_sequence = datediff(day,@StartDate,day_date) WHERE day_business_day_flag = 1

这使我可以对天进行计数,并在没有day_busienss_day_flag = 1的情况下将rolling_business_day_sequence行值设置为null,并且仍对其进行计数而不是不对其进行计数。我如何使其不增加日期?

完善

考虑您的WHERE条件下的窗口函数总和,以累计计算business_day_flag_int = 1指定日期范围内的所有实例但是,要使用中的窗口函数UPDATE,需要CTE或子查询。

WITH CTE AS
( 
    SELECT ID, SUM(CASE WHEN day_date BETWEEN @StartDate AND @CurrentDate 
                             AND business_day_flag_int = 1
                        THEN 1
                         ELSE 0
                   END) OVER (ORDER BY day_date) AS running_sequence
    FROM [EDW_MDM].[dbo].[CALENDAR_DIM]
) 

UPDATE t
FROM [EDW_MDM].[dbo].[CALENDAR_DIM] t
JOIN CTE ON t.ID = CTE.ID
SET t.rolling_business_day_sequence = CTE.running_sequence

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据当前日期和工作日列表获取日期

来自分类Dev

工作日(日期)与当前日期(工作日)比较

来自分类Dev

获取给定开始日期和结束日期之间的每月工作日

来自分类Dev

计算从第二天开始的日期之间的工作日

来自分类Dev

计算两个日期之间的工作日

来自分类Dev

可可-计算两个日期之间的工作日

来自分类Dev

计算两个日期之间的特定工作日

来自分类Dev

显示当前工作日和日期

来自分类Dev

计算 sys.date 和 R 中列中的每个日期之间的工作日

来自分类Dev

MySQL-返回行,当前日期在开始日期和结束日期之间

来自分类Dev

使用php在mongodb中查找当前日期是否在开始日期和结束日期之间的数据

来自分类Dev

如何在Java中获取当前日期并添加五个工作日

来自分类Dev

如何在Python中查找当前日期是工作日还是周末?

来自分类Dev

如何在Java中获取当前日期并添加五个工作日

来自分类Dev

计算不包括开始日期的工作日,并在busday_count中包括结束日期

来自分类Dev

计算日期之间的特定工作日数

来自分类Dev

使用日期参数计算工作日

来自分类Dev

计算工作日到日期 PHP

来自分类Dev

如何根据工作日的开始日期、劳动力和预算工时返回预测日期?

来自分类Dev

PHP:计算令牌中的mysql中存储的日期时间和当前日期时间之间的日差

来自分类Dev

如何计算日期列和当前日期之间在JSP中月份的差异

来自分类Dev

计算当前日期和用户输入日期之间的天数问题

来自分类Dev

如何将具有开始日期和结束日期的现有表加入现有日历表以计算工作日

来自分类Dev

工作日之间的日期时间返回日期

来自分类Dev

如何将周末重新引入当前在工作日计算的日期差?

来自分类Dev

Excel公式,从当前日期到上个月的最后一个工作日的天数

来自分类Dev

选择日期介于当前日期和当前日期之间的记录-2

来自分类Dev

从季度开始计算当前日期的 Excel 公式

来自分类Dev

日期列和当前日期之间的Datediff函数?

Related 相关文章

  1. 1

    根据当前日期和工作日列表获取日期

  2. 2

    工作日(日期)与当前日期(工作日)比较

  3. 3

    获取给定开始日期和结束日期之间的每月工作日

  4. 4

    计算从第二天开始的日期之间的工作日

  5. 5

    计算两个日期之间的工作日

  6. 6

    可可-计算两个日期之间的工作日

  7. 7

    计算两个日期之间的特定工作日

  8. 8

    显示当前工作日和日期

  9. 9

    计算 sys.date 和 R 中列中的每个日期之间的工作日

  10. 10

    MySQL-返回行,当前日期在开始日期和结束日期之间

  11. 11

    使用php在mongodb中查找当前日期是否在开始日期和结束日期之间的数据

  12. 12

    如何在Java中获取当前日期并添加五个工作日

  13. 13

    如何在Python中查找当前日期是工作日还是周末?

  14. 14

    如何在Java中获取当前日期并添加五个工作日

  15. 15

    计算不包括开始日期的工作日,并在busday_count中包括结束日期

  16. 16

    计算日期之间的特定工作日数

  17. 17

    使用日期参数计算工作日

  18. 18

    计算工作日到日期 PHP

  19. 19

    如何根据工作日的开始日期、劳动力和预算工时返回预测日期?

  20. 20

    PHP:计算令牌中的mysql中存储的日期时间和当前日期时间之间的日差

  21. 21

    如何计算日期列和当前日期之间在JSP中月份的差异

  22. 22

    计算当前日期和用户输入日期之间的天数问题

  23. 23

    如何将具有开始日期和结束日期的现有表加入现有日历表以计算工作日

  24. 24

    工作日之间的日期时间返回日期

  25. 25

    如何将周末重新引入当前在工作日计算的日期差?

  26. 26

    Excel公式,从当前日期到上个月的最后一个工作日的天数

  27. 27

    选择日期介于当前日期和当前日期之间的记录-2

  28. 28

    从季度开始计算当前日期的 Excel 公式

  29. 29

    日期列和当前日期之间的Datediff函数?

热门标签

归档