服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - PostgreSQL - 自定义函数实现单词排序并运用于PostgreSQL(实现代码)

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

2021-07-21 17:13繁梦溪 PostgreSQL

这篇文章主要介绍了自定义函数实现单词排序并运用于PostgreSQL,本文给大家分享实现代码,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Python实现逻辑

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

?
1
drugs.split(separator)

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

2、列表排序

?
1
drug_list.sort()

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

3、列表拼接

?
1
separator.join(drug_list)

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

4、类型判断

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

Python实现

?
1
2
3
4
5
6
7
8
9
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)

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

SQL实现

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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',';');

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

到此这篇关于自定义函数实现单词排序并运用于PostgreSQL的文章就介绍到这了,更多相关PostgreSQL自定义函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/FG24151110876/article/details/115864822

延伸 · 阅读

精彩推荐