Oracle PL/SQL 取得某週的第一天與最後一天的日期

在 Oracle PL/SQL 中, 要取得某一周的第一天與最後一天的日期,

還要看一周的開始是採用星期日或者星期一,

參考範例, 如下 :
 『星期日』為一週的開始
"今天" 該週的第一天 :
select trunc(sysdate, 'D') from dual;

"今天" 該週的最後一天 :
select trunc(sysdate, 'D') + 6 from dual;

"某一天" 該週的第一天 :
select trunc(to_date('YYYYMMDD', 'YYYYMMDD'), 'D') from dual;

"某一天" 該週的最後一天 :
select trunc(to_date('YYYYMMDD', 'YYYYMMDD'), 'D') + 6 from dual;

 『星期一』為一週的開始
"今天" 該週的第一天 :
select trunc(sysdate, 'IW') from dual;

"今天" 該週的最後一天 :
select trunc(sysdate, 'IW') + 6 from dual;

"某一天" 該週的第一天 :
select trunc(to_date('YYYYMMDD', 'YYYYMMDD'), 'IW') from dual;

"某一天" 該週的最後一天 :
select trunc(to_date('YYYYMMDD', 'YYYYMMDD'), 'IW') + 6 from dual;

Related Posts Plugin for WordPress, Blogger...