閱讀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 在線編輯模版