sql - 如何在 select 语句中使用用户定义的函数作为光标来实现结果?
问题描述
我有以下光标:
OPEN p_results FOR
SELECT distinct S02.CONVERSATION_ID, S02.INTERNAL_USI, S02.PRN, S02.CRN,
S01.EARLIEST_B_DATE "Bank Date", S01.EARLIEST_B_NARRATIVE||'DSEC' "BN",
abs(S01.TOTAL_B_AMOUNT - S02.TOTAL_C_AMOUNT) "GA",
decode(S01.EXTRA_FLAG_4,1,'OP',2,'UP') "Batch Status",
(case
when S01.latest_b_date > S02.latest_c_date then S01.latest_b_date
else S02.latest_c_date
end ) Effective_Date, S02.ICC_ID,
S02.MATCH_METHOD,
S01.TOTAL_B_AMOUNT
FROM TTPAY S01,
TTCONT S02
Where S01.EXTRA_FLAG_4 in (1,2)
and S02.EXTRA_FLAG_4 in (1,2)
and S01.Match_no = 0
and S02.Match_no = 0
and S01.PRN = S02.PRN;
对于这段代码,我必须进行更改,如果下面结果中的生效日期是假期或周末,那么我需要添加 +1 和星期六 +2 否则我将使用返回的结果下面的代码为有效日期。
(case
when S01.latest_b_date > S02.latest_c_date then S01.latest_b_date
else S02.latest_c_date
end ) Effective_Date
我有一个名为的函数WORKING_DAY
,它将一个日期作为参数,并在检查假期日历和周末时TRUE
或FALSE
之后返回布尔值。
如何有效地使用上述代码片段中的该函数来获取所需的日期?
解决方案
如果这是某种报告并在 sql 中执行。例如
with
function wf_WORKING_DAY(p_Date date) return number is
begin
return case when WORKING_DAY(p_Date) then 1 else 0 end;
end;
select wf_WORKING_DAY(date'2020-01-01')
from dual
/
推荐阅读
- cron - 将参数传递给 Kubernetes Deployment Pod
- optimization - 解决此类问题(线性混合整数)的合适优化方法(算法)是什么?
- docker - 在生产中处理码头工人和容器
- sympy - 总和,展开条款
- javascript - removeEventListner() 不生效
- php - PHP 发布请求(CURL、JSON)不工作
- c++ - 如何正确从 nalgebra::Matrix 转换为 Eigen::MatrixXf?
- sql-server - 检查我在 SQL Server 上的数据库实例是否被 TDE 加密?
- java - 仅用于组的 Libgdx 相机
- python-sphinx - RST 条件指令不能使用标准语法