Oracle 獲取上周一到周末日期的查詢sql語句
更新時間:2013年09月09日 10:01:58 作者:
本文為大家介紹下Oracle如何取得上周一到周末日期的查詢語句,感興趣的朋友可以聊接下
復(fù)制代碼 代碼如下:
-- Oracle 取上周一到周末的sql
-- 這樣取的是 在一周內(nèi)第幾天,是以周日為開始的
select to_char(to_date('20130906','yyyymmdd'),'d') from dual;
--結(jié)果:6 注釋:2013.09.06是周五,為本周的第六天
select to_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyymmdd') from dual;---上周一
select to_char(sysdate+(2-to_char(sysdate,'d'))-1,'yyyymmdd') from dual;---上周日
-- 一個更簡單的寫法 , 返回date類型
select trunc(sysdate,'iw') - 7 from dual;---上周一
select trunc(sysdate,'iw') - 1 from dual;--上周日
-- 這樣查出來是本周一
select trunc(sysdate,'iw') from dual;
select trunc(to_date('20130915','yyyymmdd'),'iw') from dual;
-- 結(jié)果:2013/9/9 注釋:20130915 為周日
-- 返回char類型
select to_char(trunc(sysdate,'iw') - 7,'yyyymmdd') from dual;--上周一
select to_char(trunc(sysdate,'iw') - 1,'yyyymmdd') from dual;--上周日
-- 獲取上周一的函數(shù)
create or replace function fun_acc_getlastweekstart(systemdate in date)
return varchar2 is
result_str varchar2(15);
begin
select to_char(trunc(systemdate, 'iw') - 7, 'yyyymmdd')
into result_str
from dual;
return result_str;
end fun_acc_getlastweekstart;
-- 獲取上周日的函數(shù)
create or replace function fun_acc_getlastweekend(systemdate in date) return varchar2 is
result_str varchar2(15);
begin
select to_char(trunc(systemdate, 'iw') - 1, 'yyyymmdd')
into result_str
from dual;
return result_str;
end fun_acc_getlastweekend;
-- 測試這個函數(shù)
select fun_acc_getlastweekstart(sysdate) from dual;
select fun_acc_getlastweekend(sysdate) from dual;
select fun_acc_getlastweekstart(to_date('20130915','yyyymmdd')) from dual;
select fun_acc_getlastweekend(to_date('20130915','yyyymmdd')) from dual;
--查詢結(jié)果:20130826、20130901、20130902、20130908
-- 注:
select sysdate from dual;
--查詢結(jié)果:2013/9/6 9:45:14
您可能感興趣的文章:
相關(guān)文章
Oracle刪除當(dāng)前用戶下所有表的方法適用于有或沒有刪除權(quán)限
如果有plsql客戶端,則可以使用該用戶登錄,選中所有表 右鍵Drop即可,如果有或沒有刪除用戶的權(quán)限都可以使用下面的方法2014-06-06安裝Oracle完整客戶端后沒有訪問接口OraOLEDB.Oracle解決辦法
這篇文章主要給大家介紹了關(guān)于安裝Oracle完整客戶端后沒有訪問接口OraOLEDB.Oracle的解決辦法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考解決價值,需要的朋友可以參考下2024-01-01ORACLE 正則解決初使化數(shù)據(jù)格式不一致
在初使化用戶基礎(chǔ)數(shù)據(jù)時會出現(xiàn)一些數(shù)據(jù)格式不正確的情況。。2009-05-05oracle數(shù)據(jù)庫刪除數(shù)據(jù)Delete語句和Truncate語句的使用比較
oracle當(dāng)表中的數(shù)據(jù)不需要時,則應(yīng)該刪除該數(shù)據(jù)并釋放所占用的空間,刪除表中的數(shù)據(jù)可以使用Delete語句或者Truncate語句,下面分別介紹2012-09-09Oracle 數(shù)據(jù)庫忘記sys與system管理員密碼重置操作方法
這篇文章主要介紹了Oracle 數(shù)據(jù)庫忘記sys與system管理員密碼重置操作,需要的朋友可以參考下2017-06-06Oracle中的Connect/session和process的區(qū)別及關(guān)系介紹
本文將詳細(xì)探討下Oracle中的Connect/session和process的區(qū)別及關(guān)系,感興趣的你可以參考下,希望可以幫助到你2013-03-03Mybatis出現(xiàn)ORA-00911: invalid character的解決辦法
今天在項目中,使用Mybatis對oracle數(shù)據(jù)庫進(jìn)行操作的時候,報出ORA-00911: invalid character的錯誤,檢查了一下SQL,發(fā)現(xiàn)都書寫正確啊,復(fù)制到plsql上執(zhí)行也都沒問題,這什么原因呢,下面通過本文給大家解答下2016-12-12