阅读865 返回首页    go 阿里云 go 技术社区[云栖]


Greenplum中与Oracle类似的排序函数实现

create or replace function pgoramin
(
  is_val_1                varchar,
  is_val_2                varchar
)
returns varchar
as
$$
begin
  if (oracompat.nlssort(is_val_1,'C') >= oracompat.nlssort(is_val_2,'C')) then
    return is_val_2;
  else
    return is_val_1;
  end if;
end
$$
language plpgsql immutable strict;
create or replace function pgoramax
(
  is_val_1                varchar,
  is_val_2                varchar
)
returns varchar
as
$$
begin
  if (oracompat.nlssort(is_val_1,'C') >= oracompat.nlssort(is_val_2,'C')) then
    return is_val_1;
  else
    return is_val_2;
  end if;
end
$$
language plpgsql immutable strict;
drop aggregate if exists oracharmax(varchar);

create aggregate oracharmax (varchar)
(
  sfunc = pgoramax,
  stype = varchar,
  prefunc = pgoramax
);
drop aggregate if exists oracharmin(varchar);

create aggregate oracharmin (varchar)
(
  sfunc = pgoramin,
  stype = varchar,
  prefunc = pgoramin
);

最后更新:2017-07-28 06:32:38

  上一篇:go  将Greenplum并行备份恢复到配置不同的新集群
  下一篇:go  java 企业网站源码 屏幕自适应 有前后台 生成静态化 springmvc SSM 在线编辑模版