如何按字母顺序对表进行范围划分?

时间:2014-10-29 19:26:23

标签: sql oracle syntax range partition

我想我可能有错误的语法,例如,当我查询P0时,我的学校名称以所有字母开头 - 它不限于字母A-E,这就是我想要的。

   CREATE TABLE "AB"."SCHOOL4" 
   (    "SCHOOL_KEY" NUMBER(*,0), 
    "SCHOOL_IDENTIFIER" VARCHAR2(15 BYTE), 
    "SCHOOL_NAME" VARCHAR2(100 BYTE), 
   ) SEGMENT CREATION IMMEDIATE 
      PARTITION BY RANGE (SCHOOL_NAME)
       (  PARTITION P0 VALUES LESS THAN ('F'),
          PARTITION p1 VALUES LESS THAN ('Q'),
          PARTITION p2 VALUES LESS THAN (MAXVALUE)
           )
      TABLESPACE AB_ST2;

我的问题:    如何完成对此表的分区,以便按字母顺序对值进行分区A-E,F-R,Q-Z?

我的查询:

SELECT SCHOOL_NAME FROM SCHOOL4, DBA_SEGMENTS
Where PARTITION_NAME = 'P0' and owner = 'AB' ;

我将查询更改为Xion在下面建议的内容,并提出了预期的值。

1 个答案:

答案 0 :(得分:1)

您是否尝试过像这样查询

Select * from SCHOOL4 partition (p0)