oracle修改日历,oracle 日历
以下是从网上找到的相应的 oracle日历的sql并进行了改造可以生成任意一段时间内的日历。 create table calendar ( statis_month number(6), -- 统计月份 statis_week number(6), -- 周 sunday number(6), -- 星期日 monday number(6), -- 星期一 tuesday number(6), -- 星期二 wednesday number(6), -- 星期三 thursday number(6), -- 星期四 friday number(6), -- 星期五 saturday number(6) -- 星期六 ); -- truncate table calendar; declare vi_begin_year number(6); vi_end_year number(6); vi_year number(6); vi_month number(6); vs_month varchar2(6); vs_first_day varchar2(8); begin vi_begin_year :=1900; vi_end_year :=2300; vi_month :=1; vi_year := vi_begin_year; loop exit when(vi_year > vi_end_year); for i in 1..12 loop if length(i) =1 then vs_month := to_char(vi_year)||'0'||to_char(i); else vs_month := to_char(vi_year)||to_char(i); end if; vs_first_day := vs_month||'01'; insert into calendar ( statis_month, statis_week, sunday, monday, tuesday, wednesday, thursday, friday, saturday ) select substr(vs_first_day,1,6), ceil((to_char(everyday,'dd')+(to_char(to_date(vs_first_day,'yyyymmdd'),'d')-1))/7) as week, sum(decode(to_char(everyday,'dy'),'星期日',to_char(everyday,'dd'))) as 星期日, sum(decode(to_char(everyday,'dy'),'星期一',to_char(everyday,'dd'))) as 星期一, sum(decode(to_char(everyday,'dy'),'星期二',to_char(everyday,'dd'))) as 星期二, sum(decode(to_char(everyday,'dy'),'星期三',to_char(everyday,'dd'))) as 星期三, sum(decode(to_char(everyday,'dy'),'星期四',to_char(everyday,'dd'))) as 星期四, sum(decode(to_char(everyday,'dy'),'星期五',to_char(everyday,'dd'))) as 星期五, sum(decode(to_char(everyday,'dy'),'星期六',to_char(everyday,'dd'))) as 星期六 from(select to_date(vs_first_day,'yyyymmdd') + level - 1 as everyDay from dual connect by level <= (last_day(to_date(vs_first_day,'yyyymmdd')) - to_date(vs_first_day,'yyyymmdd') +1) ) group by ceil((to_char(everyday,'dd')+(to_char(to_date(vs_first_day,'yyyymmdd'),'d')-1))/7) ; commit; end loop; vi_year := vi_year+1; end loop; end;
oracle修改日历,oracle 日历相关推荐
- oracle修改memory,Oracle 修改 MEMORY_TARGET
Oracle 修改 MEMORY_TARGET,内存减小导致ORACLE启动不了,扩展内存后,按pfile启动,但sfile修改不了. 1.内存减小导致Oracle启动不了 Last login: S ...
- oracle 修改nls_characterset,ORACLE NLS_CHARACTERSET字符集的更改
ORACLE NLS_CHARACTERSET字符集的更改 数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换. 我们也可以通过以下方式更改 ALTER DATABASE ...
- Oracle修改globalname,oracle修改global_name和service_name
安装oracle的时候会制定db_domain,制定db_domain后service_name和global_name都会加上这个domain,此时在配置tns file以及easy connect ...
- oracle 修改lsnrctl,ORACLE LSNRCTL密码及忘记密码处理
Oracle lsnrctl设置密码 如何给监听器设置密码,提防被其他用户关掉监听器?以下是给监听器设置密码的步骤: 进入LSNRCTL: 1.设置监听器的口令.默认口令为空. LSNRCTL> ...
- oracle 修改lsnrctl,Oracle中 lsnrctl命令使用总结(推荐)
Oracle监听服务lsnrctl参数及查询状态详解,常用参数. 在命令行中先输入lsnrctl,进入以下页面 1.status 显示监听器的状态.命令显示监听器是不是活动的,日志与跟踪文件的位置,监 ...
- oracle修改filesystem,oracle数据库 boost::filesystem使用例子
oracle数据库 boost::filesystem 使用例子 #include #include #include #include using namespace boost::filesyst ...
- oracle修改open_cursors,oracle open_cursors
先备份一下 C:\oracle\product\10.2.0\db_2\dbs SPFILEIDMP.ORA alter system set open_cursors=600 scope=spfil ...
- oracle修改open_cursors,oracle的open_cursors问题探究
今天老魏遇到了一个这样的问题, 在google之后,发现讲open_cursors参数调大一些,就可以避免这样的问题(具体操作方法,可以自行百度/google). 老魏在学习的时候,对这个游标的概念有 ...
- oracle 修改 dbid,Oracle 在使用NID更改DBID时ORA-01122 ORA-01110 ORA-01206
适用于: Oracle Database – Enterprise Edition – 版本9.0.1.4 到 10.1.0.2 [Release 9.0.1 to 10.1] 本文信息适用于任何平台 ...
- oracle 修改nls_nchar_characterset,Oracle的NLS_NCHAR_CHARACTERSET和NLS_CHARACTERSET之间的区别...
一般来说,所有要点都是正确的. NLS_NCHAR_CHARACTERSET定义NVARCHAR2等的字符集.人.列,而NLS_CHARACTERSET用于VARCHAR2. Why is it po ...
最新文章
- V4L2获取usb视频流测试代码
- 工作5年后才明白的道理:不起眼的技能中,藏着你的未来
- 深入理解IIS的多线程工作机制
- 5G同步信号(PSS/SSS)及其时频资源
- 外星人台式电脑_谈谈4万人民币的外星人R9台式机值不值得购买
- centos php 错误日志,centos系统下错误日志保存在哪里
- 在碰撞中成长 - 北京银行的DevOps实践之路
- gitlab 删除分支_初识gitlab工作流
- 120. Triangle
- DataGridView直接导出EXCEL
- UICamera(NGUI Event system)原理
- TIOBE 11 月排行榜:Java、C、C ++、Python 和 VB .NET,谁将卫冕冠军?
- FISCO BCOS同步模块的优化策略
- bonecp通过servicename连接oracle,使用Java连接池连接Oracle数据库
- c++核心编程第一部分讲义_java并发编程实战-第一部分总结
- 快捷支付与网银支付的对比
- Springboot + Quartz 实现分布式定时任务集群
- CSDN早报-2019-04-29
- 注册会计师的待遇如何?职业发展怎么样?
- 【CAR笔记1】标定的标准——ASAP和ASAM