电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:118日期:2023-03-12 15:25:35
目錄
  • Oracle獲取當(dāng)前自然周,當(dāng)前周的起始和結(jié)束日期
  • Oracle獲取自然周數(shù)
    • 1. 按天統(tǒng)計(jì)
    • 2. 按自然周統(tǒng)計(jì)
    • 3. 按月統(tǒng)計(jì)
    • 4. 按季統(tǒng)計(jì)
    • 5. 按年統(tǒng)計(jì)
  • 總結(jié)

    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ǔ)過(guò)程向數(shù)據(jù)庫(kù)中插入一條數(shù)據(jù)

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

    xxxx年第xx周 xx.xx xx.xx

    存儲(chǔ)過(guò)程如下:

    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í)候可能要遵循不同的語(yǔ)法結(jié)構(gòu),尤其在日期操作方面區(qū)別較為明顯。接下來(lái),將Oracle中常用的周期統(tǒng)計(jì)梳理出來(lái)。

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

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

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

    select to_char(created_time,"yyyymmdd") as day,count(mobile_no)from tablewhere to_char(created_time,"yyyymmdd") >= 20181201group 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é)束日期顯示出來(lái),使結(jié)果一目了然。

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

    結(jié)果如下所示,其中week表示周數(shù)。通過(guò)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 tablewhere to_char(created_time,"yyyymm") >= 20181201group 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 tablewhere to_char(created_time,"yyyymmdd") >= 20180101group 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 tablewhere to_char(created_time,"yyyy") >= 2016group by to_char(created_time,"yyyy")order by y asc

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

    總結(jié)

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

    標(biāo)簽: Oracle
    主站蜘蛛池模板: 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 爆炸冲击传感器-无线遥测传感器-航天星百科 | 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 防爆电机_防爆电机型号_河南省南洋防爆电机有限公司 | 置顶式搅拌器-优莱博化学防爆冰箱-磁驱搅拌器-天津市布鲁克科技有限公司 | 智慧物联网行业一站式解决方案提供商-北京东成基业 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 公交驾校-北京公交驾校欢迎您! 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 蔬菜清洗机_环速洗菜机_异物去除清洗机_蔬菜清洗机_商用洗菜机 - 环速科技有限公司 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 |