今天的問候!
我撰寫了一個 python 腳本,它將使用 oracle 資料庫運行選擇查詢,并將根據從該查詢中獲得的結果與用戶共享結果。我的目標是通過任務調度程式運行它,它應該自動調整sql查詢中提到的日期,并且應該總是選擇最后一個作業日意味著如果它的星期一,它應該運行查詢,asof day as friday,如果星期二然后 asod day如星期一等。
注意:查詢中的報表是基于 T 1 運行的,如果截止日期是 2022 年 4 月 21 日,則表示它的實際開始時間是 2022 年 4 月 22 日,所以當它在 4 月 25 日(星期一)運行時,截止日期是 4 月 22 日
select* from snap_states
where asof = trunc(sysdate)-1
and upper(system) like ('LOANSL%')
order by start_time;***
uj5u.com熱心網友回復:
如果你跳過周末,那么你可以
SQL> with datum (sys_date) as
2 (select date '2022-04-23' from dual union all -- Saturday
3 select date '2022-04-24' from dual union all -- Sunday
4 select date '2022-04-25' from dual union all -- Monday
5 select date '2022-04-26' from dual -- Tuesday
6 )
7 select to_char(sys_date, 'dd.mm.yyyy, Dy') sys_date,
8 trunc(sys_date - case to_char(sys_date, 'Dy', 'nls_date_language = english')
9 when 'Sun' then 2
10 when 'Mon' then 3
11 else 1
12 end) as prev_work_day
13 from datum;
SYS_DATE PREV_WORK_
------------------------ ----------
23.04.2022, Sat 22.04.2022
24.04.2022, Sun 22.04.2022
25.04.2022, Mon 22.04.2022
26.04.2022, Tue 25.04.2022
SQL>
應用于您的查詢:
select *
from snap_states
where asof = trunc(sysdate - case to_char(sysdate, 'Dy', 'nls_date_language = english')
when 'Sun' then 2
when 'Mon' then 3
else 1
end)
and upper(system) like 'LOANSL%'
order by start_time;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/463262.html
上一篇:Oraclesql——更新案例
