ORACLE生成日历表

  • Oracle生成日历表
    • 代码

Oracle生成日历表

oracle日期转换

代码

CREATE OR REPLACE PROCEDURE SP_CREATE_TIME_DIMENSION(BEGIN_DATE IN VARCHAR2,
END_DATE IN VARCHAR2) IS
DDATE DATE;
V_THE_DATE NUMBER;
V_THE_YEAR VARCHAR2(4);
V_THE_QUARTER VARCHAR2(2);
V_THE_MONTH VARCHAR2(10);
V_THE_MONTH2 VARCHAR2(2);
V_THE_WEEK VARCHAR2(2);
V_THE_DAY VARCHAR2(10);
V_THE_DAY2 VARCHAR2(2);
V_WEEK_DAY NVARCHAR2(10);

ADDDAYS INT;

BEGIN
ADDDAYS := 1;
DDATE := TO_DATE(BEGIN_DATE, ‘yyyymmdd’);

WHILE (DDATE <= TO_DATE(END_DATE, 'yyyymmdd'))
LOOPV_THE_DATE    := TO_NUMBER(TO_CHAR(DDATE, 'yyyymmdd')); --key值V_THE_YEAR    := TO_CHAR(DDATE, 'yyyy'); --年V_THE_QUARTER := TO_CHAR(DDATE, 'q'); --季度V_THE_MONTH   := TO_CHAR(DDATE, 'mm'); --月份(字符型)V_THE_MONTH2  := TO_NUMBER(TO_CHAR(DDATE, 'mm')); --月份(数字型)V_THE_DAY     := TO_CHAR(DDATE, 'dd'); --日(字符型)V_THE_DAY2    := TO_CHAR(DDATE, 'dd');V_THE_WEEK    := TO_CHAR(DDATE, 'fmww'); --年的第几周V_WEEK_DAY    := TO_CHAR(DDATE, 'day'); --星期几INSERT INTO DW_TIME_DIMENSION(THE_DATE, DATE_NAME, THE_YEAR, YEAR_NAME, THE_QUARTER, QUARTER_NAME, THE_MONTH, MONTH_NAME, THE_WEEK, WEEK_NAME, WEEK_DAY)VALUES(V_THE_DATE, V_THE_YEAR || '年' || V_THE_MONTH2 || '月' || V_THE_DAY2 || '日', V_THE_YEAR, V_THE_YEAR || '年', V_THE_YEAR || 'Q' ||V_THE_QUARTER, V_THE_YEAR || '年' || V_THE_QUARTER || '季度', TO_NUMBER(V_THE_YEAR ||V_THE_MONTH), V_THE_YEAR || '年' || V_THE_MONTH2 || '月', V_THE_WEEK, '第' ||V_THE_WEEK || '周', V_WEEK_DAY);DDATE := DDATE + ADDDAYS;
END LOOP;

END SP_CREATE_TIME_DIMENSION;

Oracle生成日历表相关推荐

  1. oracle存储过程生成单号,Oracle生成单据编号存储过程的实例代码

    Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 CREATE OR REPLACE procedure ...

  2. 使用ORACLE生成文本文件

    1.在使用ORACLE的存储过程生成文件 在ORACLE中生成文件是比较方便的,尤其是生成对外接口的时候,通过定时任务完成,是一个非常直接的方法,而且比编译式语言具有更加灵活的方式. 使用PL/SQL ...

  3. oracle索引自增函数,oracle生成动态前缀且自增号码的函数分享

    create or replace Function GetInvitationNO(prev varchar2, num1 varchar2, num2 varchar2, sessionSetti ...

  4. 更新MYSQL生成日历表,支持跨年份 存储过程

    更新MYSQL生成日历表,支持跨年 代码 CREATE DEFINER = 'root'@'localhost' PROCEDURE `proc_ym`(IN sdate DATE, IN edate ...

  5. oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码

    Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 0 then if DIsAutoCreate=1 TH ...

  6. oracle 随机数重复吗,Oracle生成不重复随机数

    项目中要依据车牌号码.日期和随机码生成运单号,所以写了函数和创建了历史码存储表来保证运单号的不重复. 运单号=车牌号码+日期+四位随机码 1.创建历史运单号存储表(用来比对新生成的随机号是否已被使用) ...

  7. mysql 生成日历视图_mysql sql语句生成日历表

    mysql sql语句生成日历表  (主要用于按月,按天group by分组统计时,有些日期没有记录,需要补0) 从自定义的开始时间,生成1万条记录 CREATE TABLE if not exist ...

  8. Oracle 生成一张测试表并插入随机的个人基本信息数据

    Oracle 生成一张测试表并插入随机的个人基本信息数据 表名(HIBOX_User_Bigdata) 字段信息 姓名 性别 民族 员工籍贯 员工工号(8位) 员工政治面貌 0=群众,1=少先队员,2 ...

  9. oracle生成随机字符串

    oracle生成随机字符串 前言 前言 记录一下在Oracle中用年月日时分秒拼随机字符串生成主键的一种操作 ----dbms_random.string (opt char, len number) ...

最新文章

  1. Java学习----到底调用哪一个方法(多态)
  2. 解题报告(一)E、(BZOJ4589)Hard Nim(博弈论 + FWT)
  3. 双链表(删除节点操作)
  4. 查看oracle会话和进程_带有Oracle Digital Assistant和Fn Project的会话式UI。 第三部分,迁移到云...
  5. linux查看redis表内所有数据,Redis数据库(list类型)
  6. linux下tomcat发布网站验证码获取不到
  7. 【干货】借助用户画像解决电商业务问题.pdf(附下载链接)
  8. Python Tricks(十八) —— range
  9. Python 学习笔记 (1)输出语句
  10. wim工具扫描linux磁盘,图文解说WIMTOOL的安装及利用该工具编辑WIM文件
  11. cst自学教材_CST微波工作室入门与应用详解
  12. jQuery的绑定与解绑方法
  13. SPA(单页面)和MPA(多页面)的区别与优缺点
  14. HTML第一天学习总结
  15. vue 首屏优化加载(三)(CND引用)
  16. 数字后端Floorplan概念合集(二)
  17. C++grammer开篇
  18. 嵌入式分享合集108
  19. JAVA练习174-递归乘法
  20. 番茄工作法图解:简单易行的时间管理方法

热门文章

  1. 大长今人物系列:长今心理第二课——申主簿(转载)
  2. ISP屏幕和LCD屏幕的区别,以及AMOLED、Super AMOLED和OLED
  3. 元学习、迁移学习、对比学习、自监督学习与少样本学习的关系解读
  4. 2019微信公开课 同行With Us 听课笔记及演讲全文
  5. 苹果大幅砍单?蓝思科技等供应商称未收到通知
  6. openresty mysql 批量_OpenResty负载均衡MySQL
  7. cin.tie(0)和ios::sync_with_stdio(false)
  8. 传统软件行业与互联网行业对比
  9. PE中Ghost 使用详解
  10. 三层代码讲解--第二课 DATE :2004-05-25