如何从oracle服务器的分区表中获取分区列名

时间:2015-12-29 09:55:45

标签: mysql sql oracle partition

我是oracle中的新手,我希望得到分区列名称形式分区名称。 在MySQL中使用相同的查询:

SELECT PARTITION_EXPRESSION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? limit 1 

这个查询会给我分区列名,我希望在oracle中输出相同的

我的oracle create table查询看起来像这样

CREATE TABLE part_char_date  
(emp_no NUMBER(11)  , birth_date date  , first_name VARCHAR2(100),
last_name VARCHAR2(100)  , gender CHAR(1) , hire_date DATE  ) 
PARTITION BY RANGE  ( hire_date )  
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(PARTITION p0 VALUES LESS THAN (TO_DATE('1-1-2007', 'DD-MM-YYYY')), 
PARTITION p1 VALUES LESS THAN (TO_DATE('1-1-2008', 'DD-MM-YYYY')),   
PARTITION p2 VALUES LESS THAN (TO_DATE('1-7-2009', 'DD-MM-YYYY')), 
PARTITION p3 VALUES LESS THAN (TO_DATE('1-1-2010', 'DD-MM-YYYY')) )

现在我想要获取分区列。 任何人帮助我

1 个答案:

答案 0 :(得分:2)

如果您的意思是分区键列,那么

SELECT OWNER, NAME, OBJECT_TYPE, COLUMN_NAME, COLUMN_POSITION FROM ALL_PART_KEY_COLUMNS WHERE NAME = 'PART_CHAR_DATE';