Python實(shí)現(xiàn)邏輯
1、按照分隔符將字符串分割為列表類型
1
|
drugs.split(separator) |
2、列表排序
1
|
drug_list.sort() |
3、列表拼接
1
|
separator.join(drug_list) |
4、類型判斷
由于數(shù)據(jù)庫(kù)中對(duì)應(yīng)字段可能會(huì)出現(xiàn)為NULL的情況,即在Python中為None,而類型None 無split() 用法,因此添加條件判斷是否為真。如果為NULL,則直接返回None。
Python實(shí)現(xiàn)
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) |
SQL實(shí)現(xiàn)
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' , ';' ); |
到此這篇關(guān)于自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL的文章就介紹到這了,更多相關(guān)PostgreSQL自定義函數(shù)內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/FG24151110876/article/details/115864822