欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

oracle獲取上一旬的開始時間和結束時間的實現函數

 更新時間:2013年09月09日 10:14:39   作者:  
本文為大家介紹下oracle如何獲取上一旬的開始時間和結束時間,實現函數如下,感興趣的朋友可以參考下
復制代碼 代碼如下:

-- 獲取上旬開始時間
create or replace function fd_lastxunstart(rq in date) return string is
refstr varchar2(50);
v_rq date;
begin
--獲取上一旬的日期
v_rq := trunc(rq);
select case decode(trunc((to_char(v_rq, 'dd') - 1) / 10),
0,
'上旬',
1,
'中旬',
'下旬')
when '上旬' then --返回上個月的下旬
to_char(add_months(v_rq, -1), 'yyyyMM') || '21'
when '中旬' then
to_char(v_rq, 'yyyymm') || '01' else 
to_char(v_rq, 'yyyymm') || '11'
end
into refstr
from dual;
return refstr;
end fd_lastxunstart;

-- 這個返回的是:上旬的開始日期
select sysdate from dual;
select fd_lastxunstart(sysdate) from dual;
select fd_lastxunstart(to_date('20130305','yyyymmdd')) from dual;
select fd_lastxunstart(to_date('20130311','yyyymmdd')) from dual;
select fd_lastxunstart(to_date('20130325','yyyymmdd')) from dual;

-- 執(zhí)行結果為: 2013/9/5 12:08:39、20130821、20130221、20130301、20130311

---- 獲取上一旬的結束日期
-- 傳遞進去 一個 date 類型的值,返回一個varchar類型的上旬結束日期
create or replace function fd_lastxunend(rq in date) return string is
refstr varchar2(50);
v_rq date;
begin
--獲取上一旬的日期
v_rq := trunc(rq);
select case decode(trunc((to_char(v_rq, 'dd') - 1) / 10),
0,
'上旬',
1,
'中旬',
'下旬')
when '上旬' then --返回上個月的最后1天
--chr(39) 這個是加引號
to_char(last_day(add_months(v_rq, -1)) + 1 - 1 / 24 / 60 / 60,
'yyyymmdd')
when '中旬' then
to_char(v_rq, 'yyyymm') || '10' else 
to_char(v_rq, 'yyyymm') || '20'
end
into refstr
from dual;
return refstr;
end fd_lastxunend;

-- 這個獲取的是:上旬的結束日期
select fd_lastxunend(sysdate) from dual;
select fd_lastxunend(to_date('20130305','yyyymmdd')) from dual;
select fd_lastxunend(to_date('20130311','yyyymmdd')) from dual;
select fd_lastxunend(to_date('20130315','yyyymmdd')) from dual;
select fd_lastxunend(to_date('20130221','yyyymmdd')) from dual;

--執(zhí)行結果:20130831、20130228、20130310、20130310、20130220

-- 觀察 1 / 24 / 60 / 60 的作用 這個是一秒
select last_day(add_months(trunc(sysdate), -1)) + 1 - 1 / 24 / 60 / 60
from dual;
select last_day(add_months(trunc(sysdate), -1)) from dual;
select last_day(add_months(trunc(sysdate), -1)) + 1 from dual;
-- 執(zhí)行結果:2013/8/31 23:59:59、2013/8/31、2013/9/1

相關文章

  • 使用Oracle操作xml格式數據的方法

    使用Oracle操作xml格式數據的方法

    這篇文章主要介紹了使用Oracle操作xml格式數據的方法,Oracle 數據庫的概念和其它數據庫不一樣,這里的數據庫是一個操作系統(tǒng)只有一個庫,需要的朋友可以參考下
    2023-07-07
  • Oracle undo_management參數不一致錯誤

    Oracle undo_management參數不一致錯誤

    因RAC的undo_management參數不一致導致Oracle數據庫mount報ORA-01105 ORA-01606錯誤,本文就這個問題
    2013-11-11
  • Oracle生成單據編號存儲過程的實例代碼

    Oracle生成單據編號存儲過程的實例代碼

    Oracle生成單據編號存儲過程,在做訂單類似的系統(tǒng)都可能會存在訂單編號不重復,或是流水號按日,按年,按月進行重新編號。下面給大家分享oracle生成單據編號存儲過程,需要的的朋友參考下吧
    2017-04-04
  • Oracle 左連接(+)加號用法及常用語法之間的關系

    Oracle 左連接(+)加號用法及常用語法之間的關系

    通過分析左連接(+)加號的寫法和一些常用語法之間的聯系,了解到Oracle 加號(+)的用法。本文重點給大家介紹Oracle 左連接(+)加號用法及常用語法之間的關系 ,感興趣的朋友跟隨小編一起看看吧
    2018-10-10
  • Oracle11g RAC開啟關閉、設置歸檔小結

    Oracle11g RAC開啟關閉、設置歸檔小結

    這篇文章主要介紹了Oracle11g RAC開啟關閉、設置歸檔,很簡單,但很實用,需要的朋友可以參考下
    2014-09-09
  • ORACLE 報警日志如何查看?

    ORACLE 報警日志如何查看?

    目得:首先了解什么是外部表,與其它表的區(qū)別,建立一個簡單的外部表(主要看操作過程),最后我們用外部表查看ORACLE報警日志
    2009-06-06
  • Oracle數據庫不同損壞級別的恢復教程

    Oracle數據庫不同損壞級別的恢復教程

    這篇文章主要給大家介紹了關于Oracle數據庫不同損壞級別的恢復教程,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Oracle數據庫具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Oracle中的MD5加密詳解

    Oracle中的MD5加密詳解

    MD5是我們常用的一種加密方式,在各個方面都有用到這個加密方式,今天我們來探討下在Oracle中如何使用MD5加密
    2014-09-09
  • Oracle 11gR2中啟動Scott用戶的方法(推薦)

    Oracle 11gR2中啟動Scott用戶的方法(推薦)

    這篇文章主要介紹了Oracle 11gR2中啟動Scott用戶的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • Oracle計算時間差常用函數

    Oracle計算時間差常用函數

    這篇文章主要介紹了Oracle計算時間差常用函數,涉及用法代碼及示例,具有一定參考價值。需要的朋友可以了解下。
    2017-09-09

最新評論