在mysql中并没有split函数,需要自己写:

1)获得按指定字符分割的字符串的个数:

DELIMITER $$

DROP FUNCTION IF EXISTS `sims`.`func_get_split_string_total`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `func_get_split_string_total`(

f_string varchar(1000),f_delimiter varchar(5)

) RETURNS int(11)

BEGIN

declare returnInt int(11);

if length(f_delimiter)=2 then

return 1+(length(f_string) - length(replace(f_string,f_delimiter,'')))/2;

else

return 1+(length(f_string) - length(replace(f_string,f_delimiter,'')));

end if;

END$$

DELIMITER ;

例:func_get_split_string_total('abc||def||gh','||')  结果为3

2)得到第i个分割后的字符串。

DELIMITER $$

DROP FUNCTION IF EXISTS `sims`.`func_get_split_string`$$

CREATE DEFINER=`root`@`localhost` FUNCTION `func_get_split_string`(

f_string varchar(1000),f_delimiter varchar(5),f_order int) RETURNS varchar(255) CHARSET utf8

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 ;

例如:func_get_split_string('abc||def||gh','||',2) 为def

3) 需求:A表中的一个字段值为1||2, 在select 时要通过和B字典表的关联得到a,b

CREATE DEFINER=`root`@`localhost` FUNCTION `getDictName`(v_str varchar(100)) RETURNS varchar(100) CHARSET utf8

BEGIN

DECLARE i int(4);

DECLARE dictCode varchar(100);

DECLARE dictName varchar(100);

DECLARE returnStr varchar(100);

set i = 1;

set returnStr = '';

if(v_str is null or length(v_str)=0) then

return returnStr;

else

while i<=func_get_split_string_total(v_str,'||')

do

set dictCode = func_get_split_string(v_str,'||',i);

select names into dictName from sims_dd_dict where code = dictCode;

set returnStr = concat(returnStr,',',dictName); -- 这里要用中文的逗号,否则导出EXCEL的时候会串行,因为程序中是以逗号分隔的

set i = i+1;

end while;

set returnStr = subString(returnStr,2);

return returnStr;

end if;

END$$

1

1

分享到:

2011-08-24 14:44

浏览 22905

分类:数据库

mysql 中的split函数_mysql中split函数相关推荐

  1. mysql算法函数_mysql中的函数总结

    mysql中常用日期时间函数 MySQL服务器中的三种时区设置: ①系统时区---保存在系统变量system_time_zone ②服务器时区---保存在全局系统变量global.time_zone ...

  2. MySQL中count是什么函数_MySQL中

    本篇文章给大家带来的内容是关于mysql大表中count()的用法以及mysql中count()的优化,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.一个单表中包含有6000w+的数据 ...

  3. mysql中日期函数_mysql中日期函数ADDDATE()函数用法大全

    摘要: 下文讲述mysql数据库中日期函数ADDDATE方法简介说明,如下所示: ADDDATE函数简介说明 ADDDATE函数是DATE_ADD函数的同义词,具有同样的功能, 其作用为:为指定的日期 ...

  4. mysql group语句可以排序_MySQL中group_concat()函数的排序方法

    示例一 group_concat()函数的参数是可以直接使用order by排序,下面通过例子来说明,首先看下面的t1表. 比如,我们要查看每个人的多个分数,将该人对应的多个分数显示在一起,分数要从高 ...

  5. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  6. mysql去除select换行符_MySQL中去除字段中的回车符和换行符

    问题: 在使用[ load data infile 'D:/node.txt' into table node fields terminated by '\t'; ]语句批量导入如下图所示的aaa. ...

  7. mysql的explain怎么看_mysql中explain用法详解

    如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1 ...

  8. mysql中视图的概念_MySql中的视图的概念及应用

    视图的基本概念 视图是从一个或几个基本表(或者视图)导出的表.它与基本表不同,是一个虚表. 数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...

  9. mysql ddl log 源码_MySQL中ddl_log.log初步认识

    今天发现测试数据库环境里在凌晨00:00时产生的一个日志文件-ddl_log.log,打开内容几乎是杂乱无章的,只有零散的信息,感觉和表中分区有关系,然后推断可能是因为定时event在00:00时调用 ...

  10. MySQL中replace主键_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

最新文章

  1. 什么是伪静态?SEO中如何理解伪静态?
  2. Sqlite使用技巧集锦
  3. [转载][总结]函数getopt(),getopt_long及其参数optind
  4. 215. Kth Largest Element in an Array 数组中的第K个最大元素
  5. @class、#import
  6. jquery+bootstrap实现tab切换, 每次切换时都请求数据, 点击提交分别向不同的地址提交数据...
  7. Samba服务器(一):windows访问samba服务器共享文件的简单实现(图文并茂)
  8. php中cnum函数,PHP vprintf() 函数
  9. 邮件作为证据如何提交_电子邮件如何取证、举证?
  10. 论ul、ol和dl的区别
  11. 解决算法问题的思路 —— 从问题描述到数学表达
  12. MongoDB 自动分片 auto sharding
  13. 操作系统第一章操作系统引论例题及答案
  14. matlab画空间直线,空间直线x y=z怎么画
  15. 计算机用户名起什么好,如何随机取名计算机名-如何改计算机用户名
  16. 浏览器利用框架BeEF测试
  17. python蜂鸣器天空之城频率_蜂鸣器版天空之城 - osc_lopdl9qi的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. 2018年中国大数据BI行业分析报告!
  19. 智能音箱的差评|为什么我要买一堆垃圾回来吃灰!
  20. ElementUI 整体页面布局

热门文章

  1. 多媒体计算机对信息处理技术包括哪些,多媒体信息处理技术
  2. 大话数据结构(个人笔记)
  3. 大话数据结构 前言
  4. sao java_SAO Utils
  5. C++类库Pugixml与rapidxml性能评测
  6. linux镜像添加驱动,添加raid驱动到initrd.img
  7. 报Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7的错误
  8. 企业应用快速跨向容器时代的正确姿势
  9. Vijos P1423 最佳路线
  10. 专升本高等数学考试知识点汇总(一)