小编Cha*_*ter的帖子

我输入日期时如何获取oracle中的分区名称

我有一个包含许多分区范围的表.我提供日期时需要获取所有分区的名称.例如:如果我输入日期20/09/2014,它应列出该给定日期之前的所有分区.

create or replace function get_part_name(p_date in date)
return varchar2 is
d date;
retp varchar2(30);
mind date:=to_date('4444-01-01','yyyy-mm-dd');
str varchar2(32000);
cursor c is
select high_value, partition_name p
  from user_tab_partitions
 where table_name='TEST';
begin
  for r in c loop
     str := r.high_value;
     execute immediate 'select '||str||' from dual' into d;     
     if p_date<d and d<mind then
        retp:=r.p;
        mind:=d;
     end if;
  end loop;
  return retp;
end;
Run Code Online (Sandbox Code Playgroud)

这是一个单一的日期.我需要所有日期,是否可能?

sql oracle plsql oracle11g partition

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

oracle ×1

oracle11g ×1

partition ×1

plsql ×1

sql ×1