本篇文章小编给大家分享一下自定义函数实现单词排序并运用于PostgreSQL代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
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',';');