Mysql字段分割求助

Redlips_ 2015-12-30 06:07:29
请教mysql大神 如何把l(m,n)这一个字段拆分为三个字段l、m和n呢
例如:1000(10,108) 拆分为 100010108

有什么函数可以实现吗 我想到的是用substr截取 但是 l m n的长度不是固定的

help
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

CREATE PROCEDURE DELIM
(IN P_STR CHAR(20),
OUT P_L INT,
OUT P_M INT,
OUT P_N INT)
BEGIN
	DECLARE L INT DEFAULT 0;
	DECLARE M INT DEFAULT 0;
	DECLARE N INT DEFAULT 0;

	DECLARE STR CHAR(20);

	SET STR = P_STR;
	SELECT SUBSTRING_INDEX(STR,'(',1) INTO L;
		SET P_L = L;

	SELECT SUBSTRING_INDEX((SUBSTRING_INDEX(STR,'(',-1)),',',1) INTO M;
		SET P_M = M;

	SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(STR,',',-1),')',1) INTO N;
		SET P_N = N;
END

Redlips_ 2015-12-31
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
可以用 SUBSTRING_INDEX 来截取字符串。
谢谢版主大人!试了一下 解决了我的需求
Redlips_ 2015-12-31
  • 打赏
  • 举报
回复
引用 2 楼 qq_17367431 的回复:
楼主可以这样 SUBSTRING_INDEX(字段名,'(',1) SUBSTRING_INDEX(SUBSTRING_INDEX(字段名,',',1),'(',-1) SUBSTRING_INDEX(SUBSTRING_INDEX(字段名,',',-1),')',1)
嗯嗯 解决了 谢谢
qq_17367431 2015-12-31
  • 打赏
  • 举报
回复
楼主可以这样 SUBSTRING_INDEX(字段名,'(',1) SUBSTRING_INDEX(SUBSTRING_INDEX(字段名,',',1),'(',-1) SUBSTRING_INDEX(SUBSTRING_INDEX(字段名,',',-1),')',1)
ACMAIN_CHM 2015-12-30
  • 打赏
  • 举报
回复
可以用 SUBSTRING_INDEX 来截取字符串。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧