Oracle:按月分区 [英] Oracle: Partition table by month

查看:331
本文介绍了Oracle:按月分区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的解决方案(以德语为单位):

My solution(months in german):

PARTITION BY LIST ((to_char(GEBURTSDATUM, 'Month'))) 
(  
  PARTITION p1 VALUES('JANUAR'),  
  PARTITION p2 VALUES('Februar'), 
  PARTITION p3 VALUES('MÄRZ'),  
  PARTITION p4 VALUES('APRIL'), 
  PARTITION p5 VALUES('MAI'),  
  PARTITION p6 VALUES('JUNI'), 
  PARTITION p7 VALUES('JULI'), 
  PARTITION p8 VALUES('AUGUST'),
  PARTITION p9 VALUES('SEPTEMBER'),
  PARTITION p10 VALUES('OKTOBER'), 
  PARTITION p11 VALUES('NOVEMBER'),
  PARTITION p12 VALUES('DEZEMBER') 
);  

这不起作用,因为 to_char

推荐答案

在11g中,您可以通过定义虚拟列来使用基于功能的分区: http://www.oracle-base.com/articles/11g/partitioning-enhancements- 11gr1.php#virtual_column_based_pa​​rtitioning

In 11g you can use function-based partitioning through defining a virtual column: http://www.oracle-base.com/articles/11g/partitioning-enhancements-11gr1.php#virtual_column_based_partitioning

否则,您必须手动定义并维护分区月份的单独列。

Otherwise, you must manually define and maintain a separate column for the partitioning month.

我建议在任何一种情况下使用月数而不是姓名。

I'd suggest using month numbers instead of names in either case.

这篇关于Oracle:按月分区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆