首页 > 解决方案 > 获取每月 25 日后的第 6 个工作日加上 5 个工作日的语法错误

问题描述

我正在编写一份报告,该报告需要显示确切日期以确定谁延迟提交费用。我添加了 3 个查询,最后一个查找每月 25 日之后的工作日给我“执行操作 'sqlPrepareWithOptions' 状态 = '239' 时发生错误”

你能帮我吗?数据项是 5 BUSINESS DAYS AFTER 25,下面是查询:

CASE WHEN _day_of_week( _add_days( [FIND 25TH DAY OF MONTH] , 5 ) ) BETWEEN 1 AND 5 
     THEN '1'
     WHEN _day_of_week( _add_days( [FIND 25TH DAY OF MONTH] , 6 ) ) BETWEEN 1 AND 5 
     THEN '1'
     WHEN _day_of_week( _add_days( [FIND 25TH DAY OF MONTH] , 7 ) ) BETWEEN 1 AND 5 
     THEN '1'
     WHEN _day_of_week( _add_days( [FIND 25TH DAY OF MONTH] , 5 ) ) BETWEEN 6 AND 7 
     THEN '0'
     ELSE '0'
END

这些是其他 2 个运行良好的查询:

上个月的最后一天

_add_days (_first_of_month (CURRENT_DATE), -1)

查找每月的第 25 天

CASE

WHEN EXTRACT( DAY , _add_days([LAST DAY OF LAST MONTH] , - 2) ) = 25
THEN _add_days([LAST DAY OF LAST MONTH] , - 2)
WHEN EXTRACT( DAY, _add_days([LAST DAY OF LAST MONTH], - 3) ) = 25
THEN _add_days([LAST DAY OF LAST MONTH] , - 3)
WHEN EXTRACT( DAY, _add_days([LAST DAY OF LAST MONTH], - 4) ) = 25
THEN _add_days([LAST DAY OF LAST MONTH] , - 4)
WHEN EXTRACT( DAY, _add_days([LAST DAY OF LAST MONTH], - 5) ) = 25
THEN _add_days([LAST DAY OF LAST MONTH] , - 5)
WHEN EXTRACT( DAY, _add_days([LAST DAY OF LAST MONTH], - 6) ) = 25
THEN _add_days([LAST DAY OF LAST MONTH] , - 6)
WHEN EXTRACT( DAY, _add_days([LAST DAY OF LAST MONTH], - 7) ) = 25
THEN _add_days([LAST DAY OF LAST MONTH] , - 7)
ELSE CURRENT_DATE
END

标签: sqlsyntaxcognos-10

解决方案


推荐阅读