欢迎您访问新疆栾骏商贸有限公司,公司主营电子五金轴承产品批发业务!
全国咨询热线: 400-8878-609

新闻资讯

常见问题

自定义函数实现单词排序并运用于PostgreSQL(实现代码)

作者:用户投稿2026-01-11 01:16:58

Python实现逻辑

1、按照分隔符将字符串分割为列表类型

drugs.split(separator)

2、列表排序

drug_list.sort()

3、列表拼接

separator.join(drug_list)

4、类型判断

由于数据库中对应字段可能会出现为NULL的情况,即在Python中为None,而类型None 无split() 用法,因此添加条件判断是否为真。如果为NULL,则直接返回None。

Python实现

def 单词排序(drugs,separator):
    if drugs:
        drug_list=drugs.split(separator)
        drug_list.sort()
        new_drugs=separator.join(drug_list)
    else:
        new_drugs=None
    return new_drugs
单词排序(drugs,separator)

 

SQL实现

DROP FUNCTION IF EXISTS 单词排序;
CREATE OR REPLACE FUNCTION 单词排序(drugs TEXT, separator TEXT)
	RETURNS text
AS $$
if drugs:
	drug_list=drugs.split(separator)
	drug_list.sort()
	new_drugs=separator.join(drug_list)
else:
	new_drugs=None
return new_drugs
$$ LANGUAGE plpython3u;
 
SELECT 单词排序('aa;dd;bbb;cd;zz',';');