作者:广交天下友V笑 | 来源:互联网 | 2014-06-09 00:50
mysql函数split的学习mysql5.*的版本现在没有split函数,但有些地方会用,在这里就简单记录一下:先设置:SETGLOBALlog_bin_trust_function_creators1;1.函数func_splitStringTotal:将字符串按...Syn
mysql函数split的学习
mysql 5.* 的版本现在没有split 函数,但有些地方会用,在这里就简单记录一下:
先设置:SET GLOBAL log_bin_trust_function_creators = 1;
1. 函数func_splitStringTotal:将字符串按指定方式分割,并计算单元总数
www.2cto.com
DELIMITER $$
CREATE FUNCTION `func_get_splitStringTotal`(
f_string varchar(10000),f_delimiter varchar(50)
) RETURNS int(11)
BEGIN
return 1+(length(f_string) - length(replace(f_string,f_delimiter,'')));
END$$
DELIMITER ;
2.函数func_splitString:将字符串按指定方式分割,获取指定位置的数
Java代码 www.2cto.com
DELIMITER $$
DROP function IF EXISTS `func_splitString` $$
CREATE FUNCTION `func_splitString`
( 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$$
SELECT func_splitString('1,2,3,4,5,6,7',',',1);
3.过程splitString 将字符串分割,并放到临时表tmp_split 里面
Java代码
DELIMITER $$
DROP PROCEDURE IF EXISTS `splitString` $$
CREATE PROCEDURE `splitString`
(IN f_string varchar(1000),IN f_delimiter varchar(5))
BEGIN www.2cto.com
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` (`val_` varchar(128) not null) DEFAULT CHARSET=utf8;
while i
do
set i = i + 1;
insert into tmp_split(`val_`) values (func_split(f_string,f_delimiter,i));
end while;
END$$
call splitString('a,s,d,f,g,h,j',',');
SELECT * from tmp_split;
推荐阅读
-
本文介绍如何在MySQL中创建一个自定义函数,用于将包含多个班级编号的字符串拆分为对应的班级名称。通过详细解释代码逻辑和功能,帮助读者理解并应用这一技术。 ...
[详细]
蜡笔小新 2024-12-21 14:07:47
-
请看|间隔时间_Postgresql 主从复制 ...
[详细]
蜡笔小新 2024-12-19 03:24:54
-
-
本文介绍了如何在Java中使用org.apache.commons.math3.linear.ArrayRealVector.getEntry()方法,并提供了多个实际应用中的代码示例。 ...
[详细]
蜡笔小新 2024-12-17 12:06:45
-
本文将详细介绍小蚁智能行车记录仪的各项性能,包括其1296P高清分辨率的实际表现及ADAS辅助驾驶系统的功能测试。通过白天、夜晚及低光环境下的视频测试,全面评估这款设备的实用性。 ...
[详细]
蜡笔小新 2024-12-16 14:55:00
-
本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ...
[详细]
蜡笔小新 2024-12-16 10:01:32
-
在使用 iOS 应用时,遇到网络请求错误是常见的问题。本文将探讨两种常见的错误代码 -1003 和 -1001,并提供详细的解释和解决方案。 ...
[详细]
蜡笔小新 2024-12-13 14:26:58
-
对 manual_async_fn 进行了改进,确保其能够正确处理和捕获输入的生命周期。 ...
[详细]
蜡笔小新 2024-12-12 11:27:50
-
本文探讨了 UE4 中 Decal 贴花在静态光照条件下无法正确渲染的问题,分析了其原因,并提供了针对不同平台(PC 和移动设备)的有效解决策略。特别关注了半透明材质贴花的特殊处理方法。 ...
[详细]
蜡笔小新 2024-12-11 11:21:45
-
Helium网络将在5月3日实施轻网关(Light Hotspots)的技术升级,以提高网络效率和性能。 ...
[详细]
蜡笔小新 2024-12-08 14:02:33
-
本文介绍了如何在 Ubuntu 18.10 Cosmic 停止官方支持后,通过更换软件源来解决 `apt update` 失败的问题。 ...
[详细]
蜡笔小新 2024-12-07 19:32:03
-
部署新的ASP.NET Web应用程序构建(主要涉及DLL文件更改)后,服务器上的CPU使用率每几秒就会飙升至100%,问题似乎源自lsass.exe进程。这一现象与应用程序部署之间是否存在直接关联? ...
[详细]
蜡笔小新 2024-12-07 03:59:53
-
本文详细介绍了 SVN 中的 switch 命令及其使用方法,包括如何切换工作副本到新的 URL 和如何处理版本库迁移等情况。 ...
[详细]
蜡笔小新 2024-12-06 13:41:04
-
本文档详细介绍了如何在Ubuntu 14.04 (Desktop AMD64) 系统上安装和配置ROS Indigo。包括设置软件源、安装ROS核心组件、初始化rosdep以及创建ROS工作空间等步骤。 ...
[详细]
蜡笔小新 2024-12-06 12:55:49
-
本文深入探讨了Java编程语言的基本特点,包括其简洁性、面向对象设计、跨平台能力以及多线程支持等关键特性。此外,文章还详细分析了JVM、JDK和JRE之间的区别,并讨论了字节码的概念及其优势。 ...
[详细]
蜡笔小新 2024-12-05 08:53:17
-
探讨如何在Rust的Result::map中更有效地使用模式匹配,以减少冗余并提高代码可读性。 ...
[详细]
蜡笔小新 2024-12-04 16:55:09
-