Oracle按日周月年自动分区

目录

1、分区键

2、初始分区

3、周月年自动分区

4、按日自动分区表建表语句


与普通建表语句相比,分区表多了一些分区信息;

1、分区键

以下面销售明细表为例,以data_dt为分区键,NUMTODSINTERVAL(1, 'day') 按日分区

PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))

2、初始分区

设置part_t01为初始的分区,可以根据实际需求设置初始分区的边界。

(PARTITION part_t01 VALUES LESS THAN(to_date('2020-01-01', 'yyyy-mm-dd')))

3、周月年自动分区

按其他周月年分区需要 替换 标黄部分。(前缀英文不一样注意区分)

PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))

--按日分区 NUMTODSINTERVAL(1, 'day')

--按周分区 NUMTODSINTERVAL (7, 'day')

--按月分区 NUMTOYMINTERVAL(1, 'month')

--按年分区 NUMTOYMINTERVAL(1, 'year')

4、按日自动分区表建表语句

sql 复制代码
-- Create table
CREATE TABLE sales_info
(
  data_dt DATE,
  prod_id     VARCHAR2(50),
  prod_num VARCHAR2(50),
  prod_nm   VARCHAR2(100),
  prod_color VARCHAR2(20),
  prod_size VARCHAR2(10),
  quantity_sold   INTEGER,
  data_tm  TIMESTAMP
)
PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))
(partition part_t01 values less than(to_date('2020-01-01', 'yyyy-mm-dd')));
;
--按日分区 NUMTODSINTERVAL(1, 'day')
--按周分区 NUMTODSINTERVAL (7, 'day')
--按月分区 NUMTOYMINTERVAL(1, 'month')
--按年分区 NUMTOYMINTERVAL(1, 'year') 

【注】

NUMTODSINTERVAL 常用单位为('day','hour','minute','second')

NUMTOYMINTERVAL 常用单位为('year','month')

参考:ORACLE创建按日期自动分区表 - 1只在路上的程序猿 - 博客园 (cnblogs.com)

相关推荐
哥只是传说中的小白2 分钟前
无需验证手机Sora2也能用!视频生成,创建角色APi接入教程,开发小白也能轻松接入
数据库·人工智能
todoitbo3 分钟前
书单之华为数据之道:企业数字化转型的实战宝典
数据库·华为·企业数字化转型·书单
曹牧5 分钟前
Oracle:导出SQL
数据库·oracle
_OP_CHEN9 分钟前
【Coze智能体开发】(三)解锁 Coze 智能体超能力:插件 + 知识库 + 数据库全解析,让 AI 从 “会聊天“ 到 “能办事“!
数据库·知识库·插件·coze·智能体开发·coze资源
Full Stack Developme11 分钟前
达梦(DM8)对 JSON 与 XML 的使用教程
xml·数据库·json
想摆烂的不会研究的研究生8 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
码熔burning8 小时前
MySQL 8.0 新特性爆笑盘点:从青铜到王者的骚操作都在这儿了!(万字详解,建议收藏)
数据库·mysql
猫头虎8 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
哈库纳玛塔塔9 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor
@LetsTGBot搜索引擎机器人10 小时前
2025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)
数据库·搜索引擎·机器人·开源·全文检索·facebook·twitter