项目中有需要比较两个字符串中不同的字符,例如:字符串
1:A,B,C,D和字符串
2: C,E,F,D比较
传入这个2个字符串:
get_ch(字符串1,字符串2) 得到结果:A,B
get_ch(字符串2,字符串1)得到结果:E,F
CREATE OR REPLACE FUNCTION public.get_ch(
wh character varying,
wh1 character varying)
RETURNS character varying AS
$BODY$
DECLARE
V_TEM character varying;
sz varchar[]:=string_to_array( coalesce(WH,''),',');
sz1 varchar[]:=string_to_array( coalesce(WH1,''),',');
str varchar;
BEGIN
V_TEM:='';
IF coalesce(WH1,'')='' THEN
V_TEM:=WH;
RETURN V_TEM;
END IF;
IF coalesce(WH,'')='' THEN
V_TEM:='';
RETURN V_TEM;
END IF;
IF coalesce(WH1,'')<>'' AND coalesce(WH,'')<>'' THEN
foreach str in array sz1 loop
sz:=array_remove(sz,str);
end loop;
V_TEM:=array_to_string(sz,',');
RETURN V_TEM;
END IF;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public.get_ch(character varying, character varying)
OWNER TO postgres;