自定義函數實現單詞排序並運用於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',';');

到此這篇關於自定義函數實現單詞排序並運用於PostgreSQL的文章就介紹到這瞭,更多相關PostgreSQL自定義函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!