在Oracle中按月份分区,且只分12个。
一般情况下,使用范围(RANGE)分区
CREATE TABLE customer(age NUMBER, birthday DATE)
PARTITION BY RANGE (birthday)
(
PARTITION P1 VALUES LESS THAN (to_date('2013-01-01','yyyy-mm-dd')),
PARTITION P2 VALUES LESS THAN (to_date('2013-02-01','yyyy-mm-dd'))
)
插入的记录如果不符合条件,则会报错。如果年份修改,则不能完成上述条件,它会每一年都会创造12个分区(如果每次插入不同年份的12个月)
方法2:使用 INTERNAL 分区
CREATE TABLE customer(age NUMBER, birthday DATE)
PARTITION BY RANGE (birthday)
interval (NUMTOYMINTERVAL (1,'MONTH'))
(
PARTITION P1 VALUES LESS THAN (to_date('2013-01-01','yyyy-mm