• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql字符串字段如何按照逗号截取进行储存

mysql字符串字段如何按照逗号截取进行储存

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql,字符串,按照等相关知识,希望本文的分享对您有所帮助
找了好久,想通过mysql把字符串以‘,’拆分成多个数据,必须用存储过程来实现这个功能,在这里实现一下这个功能,例如将


转为


排除里面的N,然后把数字提取出来:

#查看已存在的存储过程:SHOW PROCEDURE STATUS
# 函数:func_split_TotalLength 
DELIMITER $$ 
DROP function IF EXISTS `func_split_TotalLength` $$ 
CREATE FUNCTION `func_split_TotalLength` 
(f_string varchar(1000),f_delimiter varchar(5)) RETURNS int(11) 
BEGIN
# 计算传入字符串的总length 
return 1+(length(f_string) - length(replace(f_string,f_delimiter,''))); 
END $$ 
DELIMITER;
# 函数:func_split 
DELIMITER $$ 
DROP function IF EXISTS `func_split` $$ 
CREATE FUNCTION `func_split` 
(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;
# 存储过程:splitString 
DELIMITER $$ 
DROP PROCEDURE IF EXISTS `splitString` $$ 
CREATE PROCEDURE `splitString` 
(IN f_string varchar(1000),IN f_delimiter varchar(10)) 
BEGIN
# 拆分结果 declare cnt int default 0; declare i int default 0; set cnt = func_split_TotalLength(f_string,f_delimiter); DROP TABLE IF EXISTS `tmp_split`; create temporary table `tmp_split` (`status` varchar(128) not null) DEFAULT CHARSET=utf8; while i < cnt do 
    set i = i + 1;
#插入除了'N'之外的所有数据
IF func_split(f_string,f_delimiter,i) != 'N' THEN
insert into tmp_split(`status`) values (func_split(f_string,f_delimiter,i)); END IF; 
end while; 
END$$ 
DELIMITER;
call splitString( (SELECT overdue_record_2year FROM Loan l WHERE l.papers_id = 231203199305030219 ORDER BY papers_id DESC LIMIT 1) ,","); 
select * from tmp_split;

以上就是mysql字符串字段如何按照逗号截取进行储存的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2017-05-11MySQL优化之如何查找SQL效率低的原因
  • 2018-12-05Mysql服务器的启动与停止(二)
  • 2018-12-05mysql数据库查询优化 mysql效率第1/3页
  • 2018-12-05php 生成静态HTML页面最简单的方法示例
  • 2018-12-05mysql 开发技巧之JOIN 更新和数据查重/去重_MySQL
  • 2018-12-05linux下mysql数据库单向同步配置方法分享
  • 2018-12-05关于mysql中coalesce()使用的技巧总结(必看)
  • 2017-05-11MYSQL跨服务器同步数据经验分享
  • 2018-12-05关于MySQL5.7.18主从复制搭建一主一从实例详解
  • 2018-12-05关于roc的10篇文章推荐

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL中使用case when 语句实现多条件查询的方法
    • MYSQL数据库导入数据时出现乱码的解决办法
    • Redis中keys的通用操作(代码)
    • Sql Server 2012 转换函数的比较(Cast、Convert和Parse)
    • sql注入网站的方法
    • MySQL架构
    • sqlserver 存储过程动态参数调用实现代码
    • 隐藏在SQLServer 字段中的超诡异字符解决过程
    • mysql 5.0.67最新版替代MySQL 5.0.51b版本官方下载
    • 删除表的sql语句在不同数据库中的写法详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有