最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle數(shù)據(jù)庫如何獲取當(dāng)前自然周,當(dāng)前周的起始和結(jié)束日期

 更新時(shí)間:2022年12月12日 10:11:57   作者:WziH_CSDN  
Oracle數(shù)據(jù)庫如何獲取當(dāng)前自然周,當(dāng)前周的起始和結(jié)束日期問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Oracle獲取當(dāng)前自然周,當(dāng)前周的起始和結(jié)束日期

SELECT to_char(sysdate,'iw')   from dual; --本周是第幾個(gè)自然周

SELECT to_char(sysdate,'yyyy') into v_sbzq_nf from dual;  -- 當(dāng)前年份

SELECT to_char(TRUNC(TO_DATE(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd'),'IW'),'yyyy-MM-dd')  FROM DUAL;--本周的起始時(shí)間(本周周一日期)

SELECT to_char(TRUNC(TO_DATE(to_char(sysdate,'yyyy-MM-dd'),'YYYY-MM-DD'),'IW') + 6,'yyyy-MM-dd') FROM DUAL;--本周的結(jié)束時(shí)間(本周周日日期)

下面是使用存儲(chǔ)過程向數(shù)據(jù)庫中插入一條數(shù)據(jù)

數(shù)據(jù)格式 : 上報(bào)周期 起始時(shí)間 結(jié)束時(shí)間

xxxx年第xx周 xx.xx xx.xx

存儲(chǔ)過程如下:

create or replace procedure PRC_T_SJSB_ZYGYPJG is

   v_sbzq_zs varchar2(20);--上報(bào)周期周數(shù)

   v_sbzq_nf varchar2(10); --上報(bào)周期年份

   v_start varchar2(10);  --起始月份

   v_end varchar2(10);  --結(jié)束月份

   v_sbzq varchar2(20); --上報(bào)周期

begin

   SELECT to_char(sysdate,'iw') into  v_sbzq_zs from dual; --本周是第幾個(gè)自然周

   SELECT to_char(sysdate,'yyyy') into v_sbzq_nf from dual;

   SELECT to_char(TRUNC(TO_DATE(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd'),'IW'),'yyyy-MM-dd') into v_start  FROM DUAL;--本周的起始時(shí)間(本周周一日期)

   SELECT to_char(TRUNC(TO_DATE(to_char(sysdate,'yyyy-MM-dd'),'YYYY-MM-DD'),'IW') + 6,'yyyy-MM-dd') into v_end  FROM DUAL;--本周的結(jié)束時(shí)間(本周周日日期)

   v_start:=substr(v_start,6);

   v_end :=substr(v_end,6);

   v_start :=replace(v_start,'/','.');

   v_start :=replace(v_start,'-','.');

   v_end :=replace(v_end, '/','.');

   v_end :=replace(v_end, '-','.');

   v_sbzq :=v_sbzq_nf||'年第'||v_sbzq_zs||'周';

   insert into T_SJSB_ZYGYPJG (sbzq,sbzt,startdate,enddate) values(v_sbzq,'0',v_start,v_end);
  
   commit;

end PRC_T_SJSB_ZYGYPJG;

Oracle獲取自然周數(shù)

在Oracle中,Mysql中以及Hive中,SQL實(shí)現(xiàn)同樣的功能有時(shí)候可能要遵循不同的語法結(jié)構(gòu),尤其在日期操作方面區(qū)別較為明顯。接下來,將Oracle中常用的周期統(tǒng)計(jì)梳理出來。

1. 按天統(tǒng)計(jì)

Oracle中通過to_char()函數(shù)來操作日期變量,通過其中的格式參數(shù)配置輸出日期的格式。

格式參數(shù)值為’yyyymmdd’時(shí),將日期統(tǒng)一轉(zhuǎn)換為yyyymmdd(年月日)的方式輸出。

select to_char(created_time,'yyyymmdd') as day,count(mobile_no)
from table
where to_char(created_time,'yyyymmdd') >= 20181201
group by to_char(created_time,'yyyymmdd')
order by min(created_time) asc

輸出的結(jié)果如下所示:

2. 按自然周統(tǒng)計(jì)

to_char()函數(shù)的格式參數(shù)值為’iw’時(shí),表示按自然周方式輸出日期在全年中的周數(shù)排序值,自然周即日歷上顯示的周排列結(jié)果。

如果只輸出周數(shù),不便于排查數(shù)據(jù),所以按自然周進(jìn)行聚合時(shí),最好能把該自然周的起始日期或結(jié)束日期顯示出來,使結(jié)果一目了然。

select to_char(created_time,'iw') as week, min(created_time), count(mobile_no)
from table
where to_char(created_time,'yyyymmdd') >= 20181201
group by to_char(created_time,'iw')
order by min(created_time) asc

結(jié)果如下所示,其中week表示周數(shù)。通過MIN(created_time)可以展示出每個(gè)自然周的起始日期:

3. 按月統(tǒng)計(jì)

to_char()函數(shù)的格式參數(shù)值為’yyyymm’時(shí)可輸出格式為yyyymm(年月)的月份統(tǒng)計(jì)結(jié)果。

select to_char(created_time,'yyyymm') as Month, count(mobile_no)
from table
where to_char(created_time,'yyyymm') >= 20181201
group by to_char(created_time,'yyyymm')

其結(jié)果如下所示:

4. 按季統(tǒng)計(jì)

to_char()的格式參數(shù)值為’q’,可實(shí)現(xiàn)按季度輸出統(tǒng)計(jì)結(jié)果。

select to_char(created_time,'q') as q,count(mobile_no)
from table
where to_char(created_time,'yyyymmdd') >= 20180101
group by to_char(created_time,'q')
order by min(created_time) asc

其結(jié)果如下所示,Q表示季度。

5. 按年統(tǒng)計(jì)

to_char()函數(shù)的參數(shù)值為’yyyy’時(shí)可以實(shí)現(xiàn)按年輸出統(tǒng)計(jì)結(jié)果。

select to_char(created_time,'yyyy') as y, count(mobile_no)
from table
where to_char(created_time,'yyyy') >= 2016
group by to_char(created_time,'yyyy')
order by y asc

其輸出結(jié)果如下所示:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • oracle常用sql查詢語句部分集合(圖文)

    oracle常用sql查詢語句部分集合(圖文)

    這篇文章主要介紹了oracle常用sql查詢語句部分,并用圖文并茂的方式為大家進(jìn)程實(shí)例說明,需要的朋友可以參考下
    2013-08-08
  • oracle19c卸載教程的超詳細(xì)教程

    oracle19c卸載教程的超詳細(xì)教程

    Oracle安裝失敗,如何卸載呢?下面這篇文章主要給大家介紹了關(guān)于oracle19c卸載教程的超詳細(xì)教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • oracle while的用法示例分享

    oracle while的用法示例分享

    Oracle with語句是經(jīng)??梢砸姷降恼Z句,下面就為您詳細(xì)介紹Oracle with語句的用法,如果您對(duì)Oracle with語句感興趣的話,不妨一看
    2014-03-03
  • Oracle 觸發(fā)器的使用小結(jié)

    Oracle 觸發(fā)器的使用小結(jié)

    將觸發(fā)器應(yīng)用在插入表時(shí)相應(yīng)字段唯一值
    2009-05-05
  • Oracle游標(biāo)使用參考語句實(shí)例解析

    Oracle游標(biāo)使用參考語句實(shí)例解析

    這篇文章主要介紹了Oracle游標(biāo)使用參考語句實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • ORALCE?substr函數(shù)及substrb與字符集關(guān)系詳解

    ORALCE?substr函數(shù)及substrb與字符集關(guān)系詳解

    這篇文章主要介紹了ORALCE?substr函數(shù)及substrb與字符集關(guān)系,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • oracle查詢字段類型長度等字段信息簡單代碼示例

    oracle查詢字段類型長度等字段信息簡單代碼示例

    這篇文章主要給大家介紹了關(guān)于oracle查詢字段類型長度等字段信息的相關(guān)資料,文中介紹了如何查詢Oracle數(shù)據(jù)庫中表的字符集和字段長度類型,包括VARCHAR2字段的兩種表示方式及其區(qū)別,需要的朋友可以參考下
    2024-12-12
  • Oracle歸檔日志爆滿問題的處理方法

    Oracle歸檔日志爆滿問題的處理方法

    Oracle歸檔日志(Archivelog)是Oracle數(shù)據(jù)庫的一種特性,它主要用于數(shù)據(jù)恢復(fù)和高可用性的目的,但有什么經(jīng)常會(huì)出現(xiàn)無法連接,手動(dòng)清除歸檔日志后可以恢復(fù)訪問,但是過不了幾天依舊會(huì)爆滿,所以本文給大家介紹了Oracle歸檔日志爆滿問題的處理方法,需要的朋友可以參考下
    2024-10-10
  • Oracle中 lsnrctl命令使用總結(jié)(推薦)

    Oracle中 lsnrctl命令使用總結(jié)(推薦)

    這篇文章主要介紹了Oracle lsnrctl命令使用總結(jié) ,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • 解析Oracle查詢和刪除JOB的SQL

    解析Oracle查詢和刪除JOB的SQL

    本篇文章是對(duì)Oracle查詢和刪除JOB的SQL的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07

最新評(píng)論

仙游县| 河南省| 久治县| 甘德县| 顺昌县| 阳山县| 乌兰浩特市| 应城市| 东乡族自治县| 曲阜市| 临夏县| 织金县| 昆明市| 三江| 襄汾县| 木兰县| 陈巴尔虎旗| 同心县| 商洛市| 晴隆县| 上饶县| 泰顺县| 黄浦区| 泽州县| 恭城| 始兴县| 贞丰县| 来安县| 金门县| 陆丰市| 启东市| 正蓝旗| 吴堡县| 高要市| 健康| 柞水县| 凤城市| 宁南县| 濉溪县| 门头沟区| 香格里拉县|