/**
* 字符串分隔方法
* 获取字符串分隔之后的数组长度
*/
DROP FUNCTION IF EXISTS `func_get_split_total`;
DELIMITER ;;
CREATE FUNCTION `func_get_split_total`(
    f_string text, # 长度不够会导致临时表数据不全,# mysql字符类型varchar有长度限制(最大65535),改用text文本类型
    f_delimiter VARCHAR(5)) RETURNS int(11)
  DETERMINISTIC
  COMMENT '获取字符串分隔后的长度'
BEGIN 
  RETURN 1+(LENGTH(f_string) - LENGTH(REPLACE(f_string,f_delimiter,''))); 
END
;;
DELIMITER ;

/**
* 获取字符串分隔后的对应下标的值,下标从1开始
*/
DROP FUNCTION IF EXISTS `func_get_split_value`;
DELIMITER ;;
CREATE FUNCTION `func_get_split_value`(
    f_string text, # 长度不够会导致临时表数据不全,# mysql字符类型varchar有长度限制(最大65535),改用text文本类型
    f_delimiter VARCHAR(5),
    f_order INT) RETURNS varchar(255) CHARSET utf8mb4
  DETERMINISTIC
  COMMENT '获取字符串分隔后的对应下标的值,下标从1开始'
BEGIN 
  DECLARE result VARCHAR(255) DEFAULT ''; 
  SET result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(f_string,f_delimiter,f_order)),f_delimiter,1)); 
  RETURN result; 
END
;;
DELIMITER ;

# #

SELECT func_get_split_total('A/B/C','/') ;    #   3

SELECT func_get_split_value('A/B/C','/',1) ;   # A

Mysql 字符串分隔函数的更多相关文章

  1. MySQL 字符串截取函数

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  2. delphi字符串分隔函数用法实例

    这篇文章主要介绍了delphi字符串分隔函数用法,通过自定义函数SeparateTerms2实现将字符串分割后存入字符串列表的功能,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了delphi ...

  3. MySQL字符串连接函数

    一.CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. select concat(s_id, "--", ...

  4. MySQL字符串操作函数

    使用方法:concat(str1,str2,-)   返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11',' ...

  5. Mysql字符串截取函数SUBSTRING的用法说明

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:le ...

  6. mysql 字符串拼接函数CANCAT()与GROUP_CANCAT()

    1.CONCAT() 拼接单行字符串 select concat(‘100’,user_id) from table1; select concat('11','22','33'); 结果 11223 ...

  7. Mysql字符串连接函数 CONCAT()与 CONCAT_WS()

    从数据库里取N个字段,然后组合到一起用“,”分割显示,起初想到用CONCAT()来处理,好是麻烦,没想到在手册里居然有提到 CONCAT_WS(),非常好用. CONCAT_WS(separator, ...

  8. mysql字符串分割函数(行转列)

    由于工作需要需要处理一些以逗号分隔的字符串,每次都要现做很是麻烦,网上找了很多都没有现成的,好吧,自己动手写一个好了 )) ) BEGIN /*函数功能: 把带逗号的字符串分割取出 参数: num 要 ...

  9. Mysql字符串截取函数

    今天建视图时,用到了MySQL中的字符串截取,很是方便. 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始 ...

随机推荐

  1. 【转】Fundebug上线微信小游戏错误监控!支持自动截屏!

    摘要: Fundebug竭诚为你的小游戏保驾护航. 想必大家都玩过"跳一跳"吧?刷排行榜的感觉是不是很好啊!还有"知乎答题王"呢,在智力上碾压老铁简直太棒了! ...

  2. Struts标签库详解【3】

    struts2标签库详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri= ...

  3. sql server 分区(上)

    分区发展历程      基于表的分区功能为简化分区表的创建和维护过程提供了灵活性和更好的性能.追溯到逻辑分区表和手动分区表的功能. 二.为什么要进行分区 为了改善大型表以及具有各种访问模式的表的可伸缩 ...

  4. Spring support optimize

    https://github.com/alibaba/fastjson/pull/1337

  5. JavaWeb(四)Servlet-1

    1.Servlet 简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet ...

  6. web优化(一)

    今天读完了<高性能网站建设进阶指南>,记得博客园的某位前辈说,关于前端方面的书,带指南两个字的一般都是比较牛逼的,上一本看到的好书是<javascript权威指南>是淘宝前段团 ...

  7. Log4j2中RollingFile的文件滚动更新机制

    一.什么是RollingFile RollingFileAppender是Log4j2中的一种能够实现日志文件滚动更新(rollover)的Appender. rollover的意思是当满足一定条件( ...

  8. 复写的Object常用方法

    复写的Object常用方法 在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的 ...

  9. 阅读nsq源码 ---初步架构设计图

     

  10. 【bzoj1941】【Sdoi2010】Hide and Seek

    ---恢复内容开始--- Description 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他决定和他的好朋友giPi(鸡 ...