自定义函数实现单词排序并运用于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自定义函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于PostgreSQL 行排序的实例解析

    在查询生成输出表之后,也就是在处理完选择列表之后,你还可以对输出表进行排序. 如果没有排序,那么行将以不可预测的顺序返回(实际顺序将取决于扫描和连接规划类型和在磁盘上的顺序, 但是肯定不能依赖这些东西).确定的顺序只能在明确地使用了排序步骤之后才能保证. ORDER BY子句用于声明排序顺序: SELECT _select_list_ FROM _table_expression_ ORDER BY _sort_expression1_ [ASC | DESC] [NULLS { FIRST |

  • Postgresql排序与limit组合场景性能极限优化详解

    1 构造测试数据 create table tbl(id int, num int, arr int[]); create index idx_tbl_arr on tbl using gin (arr); create or replace function gen_rand_arr() returns int[] as $$ select array(select (1000*random())::int from generate_series(1,64)); $$ language sq

  • PostgreSQL的中文拼音排序案例

    前一段时间开发人员咨询,说postgresql里面想根据一个字段做中文的拼音排序,但是不得其解 环境: OS:CentOS 6.3 DB:PostgreSQL 9.2.4 TABLE: tbl_kenyon 场景: postgres=# \d tbl_kenyon Table "public.tbl_kenyon" Column | Type | Modifiers --------+------+--------------- vname | text | --使用排序后的结果,不是

  • Postgresql自定义函数详解

    PostgreSQL函数也称为PostgreSQL存储过程. PostgreSQL函数或存储过程是存储在数据库服务器上并可以使用SQL界面调用的一组SQL和过程语句(声明,分配,循环,控制流程等). 语法: CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name$ DECLARE declaration; [...] BEGIN < function_body

  • 自定义函数实现单词排序并运用于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 dru

  • php自定义函数实现二维数组按指定key排序的方法

    本文实例讲述了php自定义函数实现二维数组按指定key排序的方法.分享给大家供大家参考,具体如下: 二维数组官方的排序方法并不好,该函数可以进行指定key的排序,已经测试并使用,代码如下: /*二维数组按指定的键值排序*/ function array_sort($arr, $keys, $type = 'desc') { $keysvalue = $new_array = array(); foreach ($arr as $k => $v) { $keysvalue[$k] = $v[$ke

  • SQL Function 自定义函数详解

    目录 产生背景(已经有了存储过程,为什么还要使用自定义函数) 发展历史 构成 使用方法 适用范围 注意事项 疑问 内容 产生背景(已经有了存储过程,为什么还要使用自定义函数) 与存储过程的区别(存在的意义): 1.     能够在select等SQL语句中直接使用自定义函数,存储过程不行. 2.     自定义函数可以调用其他函数,也可以调用自己(递归) 3.     可以在表列和 CHECK 约束中使用自定义函数来实现特殊列或约束 4.       自定义函数不能有任何副作用.函数副作用是指对

  • Python pandas自定义函数的使用方法示例

    本文实例讲述了Python pandas自定义函数的使用方法.分享给大家供大家参考,具体如下: 自定义函数的使用 import numpy as np import pandas as pd # todo 将自定义的函数作用到dataframe的行和列 或者Serise的行上 ser1 = pd.Series(np.random.randint(-10,10,5),index=list('abcde')) df1 = pd.DataFrame(np.random.randint(-10,10,(

  • PHP基于自定义函数实现的汉字转拼音功能实例

    本文实例讲述了PHP基于自定义函数实现的汉字转拼音功能.分享给大家供大家参考,具体如下: 整个过程用到了pinyin.table文件. pinyin.php <?php header("Content-Type:text/html;charset=utf-8"); $letters = ""; if ($_GET) { $cat_name = $_GET["cat_name"]; $catname = convert($cat_name);

  • Sqlserver 自定义函数 Function使用介绍

    一.FUNCTION: 在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点: 同点: 1.创建定义是一样的: a, CREATE FUNCTION F_NAME(传入的参数名称 传入参数的类型) b,RETURNS 返回值类型 c,AS 异点:1.标量函数返回的是一个数据类型值,内联表值函数返回的是一个table,而多语句返回的是一个table的变量(类似前面两个的结合): 2.语法的结构:标量函数和多语句函数都是要有begin,,

  • PHP自定义函数获取汉字首字母的方法

    本文实例讲述了PHP自定义函数获取汉字首字母的方法.分享给大家供大家参考,具体如下: 首字母很重要,可以进行排序使用. 城市列表等等. <?php /* * Created on 2016-12-1 */ function getFirstCharter($str) { if (empty($str)) { return ''; } $fchar = ord($str{0}); if ($fchar >= ord('A') && $fchar <= ord('z')) r

  • PHP二维数组排序的3种方法和自定义函数分享

    关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处理较多的就是数组,因为有非常丰富的内置函数库(其实对象一定程度上也可以理解为是数组),这些函数库很大程度上可以帮助我们实现某些功能.常用的系统函数有sort.asort.arsort.ksort.krsort等等,这里我主要说下对二维数组的排序,两种方法: 一.用PHP自带array_multiso

  • PHP自定义函数获取URL中一级域名的方法

    本文实例讲述了PHP自定义函数获取URL中一级域名的方法.分享给大家供大家参考,具体如下: <?php /* * Created on 2016-8-23 */ function regular_domain($domain) { if (substr ( $domain, 0, 7 ) == 'http://') { $domain = substr ( $domain, 7 ); } if (strpos ( $domain, '/' ) !== false) { $domain = sub

  • 使PHP自定义函数返回多个值

    PHP自定义函数只允许用return语句返回一个值,当return执行以后,整个函数的运行就会终止.有时候我们要求函数返回多个值时,用return是不可以把值一个接一个地输出的.但不可忽视的一点是,return语句可以返回任何类型的变量,这就是使自定义函数返回多个值的关键.请看代码: <?php function results($string) {     $result = array();     $result[] = $string;//原字符串     $result[] = str

随机推荐