博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql分割字符串
阅读量:6705 次
发布时间:2019-06-25

本文共 1574 字,大约阅读时间需要 5 分钟。

项目有通过一批ID去过滤结果的需求,因为这个ID是从其他平台拉下来的excel,为了避免加引号逗号的麻烦,在mysql存储过程里面拼接。在此做个记录。很多地方用得上。

1.通过某个字符,分割字符串的函数。输入分别为f_string(待分割字符串),f_delimiter(分割字符),f_order(取的字符串的index)

DELIMITER $$USE `money`$$DROP FUNCTION IF EXISTS `F_SPLIT_STRING`$$CREATE DEFINER=`root`@`%` FUNCTION `F_SPLIT_STRING`(f_string VARCHAR(1000),f_delimiter VARCHAR(5),f_order INT) RETURNS VARCHAR(255) CHARSET utf8BEGIN  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 ;

2.要循环取分割出来的字符串就得知道分割出来多少个字符串

SELECT LENGTH(APPSFLYERID) - LENGTH(REPLACE(APPSFLYERID, '\n', '')) + 1 INTO @APPSFLYERID_CNT;

3.处理一串以n分割的字符串,把它们加上分号和逗号。

'1518393292248-9957634
1518404097075-8568716
1518392385006-9013409'转换成
'1518393292248-9957634','1518404097075-8568716','1518392385006-9013409'

DELIMITER $$USE `money`$$DROP PROCEDURE IF EXISTS `P_GET_ROI_BY_APPFLYER_ID`$$CREATE DEFINER=`root`@`%` PROCEDURE `P_GET_ROI_BY_APPFLYER_ID`(IN STAT_DATE VARCHAR(32),IN DAY_CNT INT,IN APPSFLYERID MEDIUMTEXT)BEGIN    SET @APPSFLYERID_STR = "";    SET @TEMP_ID = "";    SELECT LENGTH(APPSFLYERID) - LENGTH(REPLACE(APPSFLYERID, '\n', '')) + 1 INTO @APPSFLYERID_CNT;        SET @i = 1;    WHILE @i <= @APPSFLYERID_CNT DO    SELECT F_SPLIT_STRING(APPSFLYERID,"\n",@i) INTO @TEMP_ID;    IF @i = 1 THEN    SET @APPSFLYERID_STR = CONCAT("'",@TEMP_ID,"'");    ELSE    SET @APPSFLYERID_STR = CONCAT(@APPSFLYERID_STR,",'",@TEMP_ID,"'");    END IF;     SET @i = @i + 1;    END WHILE;    SELECT   @APPSFLYERID_STR;END$$DELIMITER ;

转载地址:http://ocblo.baihongyu.com/

你可能感兴趣的文章
c哈希表hashtable操作
查看>>
c语言疑惑点
查看>>
Android创建和删除桌面快捷方式
查看>>
JavaScript-4.7-friendly_table---ShinePans
查看>>
在MAC下怎样用SSH连接远程LINUXserver
查看>>
【深入剖析Tomcat笔记】第四篇 默认连接器
查看>>
ElasticSearch(1)-入门
查看>>
计算传播学在新闻和公共舆论领域的应用
查看>>
Go语言--基础语法笔记
查看>>
Android 中使用自定义字体的方法
查看>>
[原]RobotFrameWork(一)robotframework(python版)及Ride在ubuntu下安装
查看>>
2018-06-27随想
查看>>
Stream.findFirst的一个疑问
查看>>
深入理解java虚拟机(二)HotSpot Java对象创建,内存布局以及訪问方式
查看>>
PYTHON 模块
查看>>
软件开发模式对比(瀑布、迭代、螺旋、敏捷)
查看>>
css默认被后代inherite的属性列表
查看>>
酷客多郝宪玮:不够小程序化的企业,将错失最近5年的流量红利
查看>>
2017年淘客全新玩法——代理模式
查看>>
《开源安全运维平台OSSIM最佳实践》媒体推荐
查看>>