博客
关于我
oracle创建日历表,并写入数据
阅读量:395 次
发布时间:2019-03-05

本文共 1481 字,大约阅读时间需要 4 分钟。

创建并填充Oracle日历表的步骤说明

为了创建并填充一个包含日期信息的Oracle表,我们可以按照以下步骤进行操作。以下将详细介绍创建表结构以及数据插入的具体实现方法。

表结构创建首先,我们需要创建一个名为tdate的表,其字段定义如下:

  • dt DATE类型,不允许为空
  • year NUMBER(4),表示年份
  • month VARCHAR2(4),表示月份
  • day VARCHAR2(4),表示日期
  • week VARCHAR2(10),表示星期几的英文名称
  • weeknum VARCHAR2(4),表示ISO标准的星期数
  • xq NUMBER(2),表示当月的第几周
  • qr NUMBER(2),表示当月的第几周
  • bourse_week VARCHAR2(4),表示国际金融市场的标准星期数

数据插入接下来,我们需要将数据插入到该表中。以下是具体的SQL语句:

insert into tdate (t.dt, t.year, t.month, t.day, t.week, t.weeknum, t.xq, t.qr, t.bourse_week)select trunc(everyDay) as dt,       to_char(everyday,'yyyy') as yr,       to_char(everyday,'mm') as mm,       to_char(everyday,'dd') as dd,       to_char(everyday,'dy') as dayofweek,       to_char(everyday,'WW') as weeknum,       to_char(everyday,'IW') as bourse_weekfrom (    select to_date('20170101','yyyymmdd') + level - 1 as everyDay    from dual    connect by level <= (        last_day(to_date('20220101','yyyymmdd')) - to_date('20170101','yyyymmdd') + 1    ));

通过上述SQL语句,我们可以生成从2017年1月1日至2022年1月1日之间的所有日期,并将这些日期插入到tdate表中。每一天的记录都会包含相应的年份、月份、日期、星期几以及多种星期表示方式。

查询示例为了检索特定日期的记录,可以使用以下查询:

SELECT * FROM (    WITH x AS (        SELECT add_months(trunc(sysdate, 'y'), -12) + level - 1 tdate        FROM dual        CONNECT BY level <= (            add_months(trunc(sysdate, 'y'), 12) - trunc(sysdate, 'y')        )    SELECT tdate, to_char(tdate, 'day'), rownum rn    FROM x    WHERE to_char(tdate, 'day') = '星期五') WHERE rn = 20

上述查询将返回所有星期五的日期记录,并根据行数rn=20来筛选特定记录。

通过以上方法,我们可以成功创建并填充一个包含丰富日期信息的Oracle日历表。

转载地址:http://xrdzz.baihongyu.com/

你可能感兴趣的文章
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node.js 8 中的 util.promisify的详解
查看>>
Node.js 函数是什么样的?
查看>>
Node.js 历史
查看>>
Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
查看>>
Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
查看>>
node.js 怎么新建一个站点端口
查看>>