创建一个表循环插入某个月或整年的日期
来源:互联网 发布:如何使用风险矩阵表 编辑:程序博客网 时间:2024/05/19 04:06
--写查询或存储过程时,有时可能会需要创建一个中间表,比如日期,下面是循环插入当月所有日期和整年所有日期的SQL
--创建会话级临时表用来存储日期,不过我这里日期存储的是varchar2 类型CREATE GLOBAL TEMPORARY TABLE RQ(ID NUMBER PRIMARY KEY ,SJ VARCHAR2(20))ON COMMIT PRESERVE ROWSSELECT * FROM RQ--循环插入日期 插入当月的日期 DECLARE C_I NUMBER :=1;V_I NUMBER ;V_FIRSTDAY VARCHAR2(20);V_LASTDAY VARCHAR(20);BEGIN SELECT TO_CHAR(SYSDATE,'YYYY-MM')||'-' INTO V_FIRSTDAY FROM DUAL; SELECT TO_CHAR(LAST_DAY(SYSDATE),'YYYY-MM-DD') INTO V_LASTDAY FROM DUAL; SELECT CEIL(LAST_DAY(SYSDATE)-TRUNC(SYSDATE,'MM'))+1 INTO V_I FROM DUAL; LOOP INSERT INTO RQ (ID,SJ) VALUES(C_I,V_FIRSTDAY||TO_CHAR(C_I)); C_I:=C_I+1; EXIT WHEN C_I=V_I; END LOOP; END;--循环插入日期 插入某年的日期DECLARE C_I NUMBER :=0;V_I NUMBER ;V_FIRSTDAY DATE;V_LASTDAY DATE;BEGIN SELECT TRUNC(TO_DATE('2015','YYYY'),'YYYY') INTO V_FIRSTDAY FROM DUAL; SELECT ADD_MONTHS(TRUNC(TO_DATE('2015','YYYY'),'YYYY'),12) INTO V_LASTDAY FROM DUAL; SELECT V_LASTDAY-V_FIRSTDAY INTO V_I FROM DUAL; LOOP INSERT INTO RQ (ID,SJ) VALUES(C_I,TO_CHAR(V_FIRSTDAY+C_I,'YYYY-MM-DD')); C_I:=C_I+1; EXIT WHEN C_I=V_I; END LOOP; END;
0 0
- 创建一个表循环插入某个月或整年的日期
- 向一个表的列循环插入一年的日期
- 创建一个表并循环插入数据
- 查询一整年的数据但显示只有一个月的数据
- 日期取整年整月
- 查询某个月或某日的记录
- 创建一个双向链表或双向循环链表
- 创建一个双向链表或双向循环链表
- 创建一个双向链表或双向循环链表
- 根据某个日期得到该月的所有日期
- iOS计算某个日期n个月之后的日期
- 获取指定某一天的前一个月或前一年日期的方法
- 获取指定某一天的前一个月或前一年日期的方法
- 今年整年的计划
- 双向循环链表的创建,插入与删除。
- 双向循环链表的创建,插入,删除操作
- 单向循环链表的创建/插入/删除/输出算法
- 双向循环链表的创建修改插入删除操作
- 为mediaserver增加定制权限
- 上google 方法
- java传值还是传引用的问题详解
- NLTK安装教程
- 如何进阶为数据科学家
- 创建一个表循环插入某个月或整年的日期
- 高校微信公众平台运营:我用这招涨粉60000+
- mysql数据库 导入表及数据步骤
- Js常用方法
- if语句运算的优先级
- sql 中将一行数据分成多行显示
- mybatis 关联查询 含有集合的嵌套查询 并传多个参数
- ci集成kindeditor做富文本编辑
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)