select * from tablename where days >=10 and days<=30
或者
select * from tablename where days between 10 and 30

解决方案 »

  1.   

    不好意思,我没说明白。
    是在建表时,partition days_10_20 values ....我知道如果是小于days<10的话,用values less than(10)就可以了,我现在不知道类似10<days<20的情况该怎么写SQL语句。
      

  2.   

    CREATE TABLE sales_range 
    (salesman_id  NUMBER(5), 
    salesman_name VARCHAR2(30), 
    sales_amount  NUMBER(10), 
    sales_date    DATE)
    PARTITION BY RANGE(sales_date) 
    (
    PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')),
    PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('03/01/2000','DD/MM/YYYY')),
    PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),
    PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('05/01/2000','DD/MM/YYYY'))
    );
      

  3.   

    to beckhambobo(beckham):
       我已经实现了你的例子,我需要的是能不能把10<days<=20作为分区条件建一个分区,
    days<10;
    10<days<=20;
    20<days<=30;
    即每旬一个分区
      

  4.   

    本来分区就象你所说的功能。都是以区间来划分的
    PARTION days_1 VALUES LESS THAN 11 ,
    PARTION days_2 VALUES LESS THAN 21 ,
    PARTION days_3 VALUES LESS THAN 31 ,
    不就行了吗?