oracle11g分区表按时间自动创建
发布时间:2020-12-12 16:35:45 所属栏目:百科 来源:网络整理
导读:首先来介绍下numtodsinterval和numtoyminterval两个函数。 numtoyminterval和numtoyminterval是日期转换函数,作用:可以将数字转换成相应的日期单位时间 语法:NUMTOYMINTERVAL ( n,'char_expr' ) char_expr:日期描述,可以是YEAR和MONTH。 通常当我们使用ad
首先来介绍下numtodsinterval和numtoyminterval两个函数。 numtoyminterval和numtoyminterval是日期转换函数,作用:可以将数字转换成相应的日期单位时间 语法:NUMTOYMINTERVAL ( n,'char_expr' ) char_expr:日期描述,可以是YEAR和MONTH。 通常当我们使用add_month添加月时,如果输入是本月月底的日期,那么得到的也是月底的日期,比如add_month(to_date('2007-02-28','yyyy-mm-dd'),1)得到的就会是'2007-03-31',而不是'2007-03-28'。 此时,如果使用的是to_date('2007-02-28','yyyy-mm-dd')+numtoyminterval(1,'month'),那么得到的就是'2007-03-28'。 numtodsinterval的用法和numtoyminterval一样只是他的参数为day、hour、minute、second。 Oracle 11g之前,维护分区需要手工。11g之后使用interval来实现自动扩展分区,简化了维护。 根据年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR')) 根据月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH')) 根据天: INTERVAL(NUMTODSINTERVAL(1,'DAY')) 根据时分秒: NUMTODSINTERVAL( n,{ 'DAY'|'HOUR'|'MINUTE'|'SECOND'}) create table tablenames (fid number not null PRIMARY KEY,sdate date,addr varchar2(1000)) partition by range (sdate) interval (numtoyMinterval (1,'MONTH')) ( partition ptablenames values less than (to_date('2017-02-13','yyyy-mm-dd')) )
创建完毕后通过如下sql进行查询分区: select partition_name from user_tab_partitions where table_name='tablenames';
新增不同年份的数据,就会发现会按照年自动生成对应分区。 参考:http://www.itpub.net/forum.php?mod=viewthread&tid=2058328&page=1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- C#中数组Array,ArrayList,泛型List详细对比
- 敏捷质疑: 结对编程, 代码集体所有权
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- cocos2d-x之路 -----TiledMap
- ruby-on-rails – Mysql2 ::错误:密钥的重复条目 – Activ
- xcode – iconutil无法在macOS High Sierra上运行
- 常用正则表达式使用
- React-Native TextInput 组件需要点击两次才能获取子组件的
- Swift String to UIColor(16进制字符串转颜色值)
- cocos2d-x 2.2.3 CCKeypadDispatcher简单分析