--列表除重
DROP FUNCTION IF EXISTS pyduplicates;
CREATE FUNCTION pyduplicates(st TEXT,x TEXT)--s为字符串,x为分割符
RETURNS text
AS $$
global st
global x
ls=st.split(x)#转为列表
lss=[]#定义变量
for s in ls:
lss.append(s.strip())#去掉空格
ss=set(lss)#转为集合/去重
ls=list(ss)#转为列表
ss=x.join(ls)#将除重后的列表转为字符串
return ss
$$ LANGUAGE plpython3u;
--CREATE EXTENSION plpython3u;
--CREATE LANGUAGE plpython3u;
--SELECT * FROM pg_available_extensions WHERE name LIKE '%python%' ORDER BY name;
SELECT pyduplicates('adb,abc,bcd,abc', ',');