前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【MySQL基础】Mysql截取字符串split函数的实现以及使用范例

【MySQL基础】Mysql截取字符串split函数的实现以及使用范例

作者头像
青山师
发布2023-05-04 20:29:34
1.4K0
发布2023-05-04 20:29:34
举报

日前,统计数据的时候发现需要字符串分隔,MySql中并没有类似Java的split函数,但是我们可以利用length()函数、replace() 2个函数创建一个自定义的split函数,sql很简单,该函数定义也是DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging的错误解决方案之一。 split函数:

代码语言:javascript
复制
CREATE FUNCTION `split`( 
inputStr varchar(1000),seperatorStr varchar(50) 
) RETURNS int(11)  
######这两行告诉MySql该函数不会修改数据(尤其对数据库权限只有自读权限的账户是非常有用的)
READS SQL DATA
DETERMINISTIC 
######
BEGIN 
#####返回替换前长度减去用''替换后的长度得到seperatorStr的个数。
return (length(inputStr) - length(replace(inputStr,seperatorStr,''))); 
END

split函数测试脚本,返回#的个数:

代码语言:javascript
复制
SELECT splitTermTotal('1#2#3','#')
2

length(str)函数测试,该函数返回str的长度:

代码语言:javascript
复制
SELECT LENGTH('1#2#3')
5

replace(strContent, oldStr,newStr)函数测试,用于将strContent串中的oldStr全部替换为newStr:

代码语言:javascript
复制
select replace('1#2#3','#','')
123
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档