美文网首页
MySQL自定义函数获取字符串

MySQL自定义函数获取字符串

作者: 加来依蓝 | 来源:发表于2017-06-30 10:24 被阅读81次

需求:获取由分隔符组成的字符串中第n个子字符串

实现:在MySQL中编写函数进行实现

以下为具体的函数代码:

DROP FUNCTION IF EXISTS f_get_strofindex;

CREATE FUNCTION f_get_strofindex(

str VARCHAR(1024),

split VARCHAR(10),

indexOf INT

)

RETURNS VARCHAR(1024)

BEGIN

/*******************************

    *名称 --%NAME: 获取指定字符串

    *功能描述 --%COMMENT: f_get_strofindex('i,hello,word',',',2) 获得的是 hello

    *执行周期 --%PERIOD: 随时调用

     *参数1 --%str: 需要分割的字符串

    *参数1 --%split: 分隔符号

    *参数1 --%indexOf: 取第几个元素

    *备注 --%REMARK:

*******************************/

DECLARE location INT DEFAULT 0; --

DECLARE frontOf text; -- 第n-1个元素获取的字符串

DECLARE nextOf text ; -- 第n个元素获取的字符串

DECLARE splitLen INT ; -- 分隔符长度

DECLARE seed INT ; -- 分隔符个数

SET str=ltrim(rtrim(str)) ; -- 去掉字符串前后空格

SET frontOf = concat(substring_index(str,split,indexOf - 1 ),split) ;

SET nextOf=substring_index(str,split,indexOf) ;

SET splitLen=LENGTH(split);

SET seed=FLOOR((length(str)-length(replace(str,split,'')))/LENGTH(split)); -- 计算分隔符个数

IF indexOf = 1 THEN

    RETURN  substring_index(str,split,1);

ELSEIF indexOf = seed+1 THEN

    RETURN  substring_index(str,split,-1);

ELSEIF indexOf > seed+1 THEN

   RETURN '';

ELSE

    RETURN REPLACE(nextOf,frontOf,'');

END IF;

END ;

相关文章

  • mysql函数

    mysql常见函数 1.字符函数 length(显示长度) concat(拼接字符串) substr(获取指定长度...

  • MySQL自定义函数获取字符串

    需求:获取由分隔符组成的字符串中第n个子字符串 实现:在MySQL中编写函数进行实现 以下为具体的函数代码: DR...

  • MySQL函数:字符串如何截取

    练习截取字符串函数(五个) mysql索引从1开始 一、mysql截取字符串函数 1、left(str,lengt...

  • MySQL补充

    mysql内置函数 字符串函数select ASCII('A');select TRIM(' bar ');...

  • MySQL函数基础——字符串函数详解

    昨天,咱们对MySQL的数学函数进行了讲解,今天,咱们再来解析MySQL字符串函数。 字符串函数主要用来处理数据库...

  • mysql 多表查询 数学函数(聚合函数) 字符串函数等

    mysql 多表查询 数学函数(聚合函数) 字符串函数等; 实际:二表查询 数学 字符串 链接:https:/...

  • mysql函数汇总之字符串函数

    字符串函数主要用来处理数据库中的字符串数据。mysql中的字符串函数有计算字符串长度函数、字符串合并函数、字符串替...

  • MySQL 函数 (转载菜鸟教程)

    MySQL 有很多内置的函数,以下列出了这些函数的说明。 MySQL 字符串函数 函数描述实例ASCII(s)返回...

  • MySQL 时间函数

    MySQL 时间函数 获取当前日期的函数和获取当前时间的函数 CURDATE()和CURRENT_DATE()函数...

  • 自定义函数

    自定义函数 用户自定义函数(user-defined function, UDF)是一种对MySQL扩...

网友评论

      本文标题:MySQL自定义函数获取字符串

      本文链接:https://www.haomeiwen.com/subject/orybcxtx.html