专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » js拆分字符串:Mysql拆分字符串查询 »正文

js拆分字符串:Mysql拆分字符串查询

来源: 发布时间:星期四, 2009年2月12日 浏览:219次 评论:0


前段时间做个项目有数据格式如下

例如 123 把1、2、3名称查询出来拼接串返回来数据库是mysql mysql function代码如下

view plaincopy to clipboardpr?
DELIMITER $$

DROP FUNCTION IF EXISTS `tms1`.`GetClassName` $$
CREATE FUNCTION `GetClassName`(f_ VARCHAR(15000)) RETURNS varchar(15000)
BEGIN

/* 判断串包含,个位置*/
DECLARE THE_CNT INT(15) DEFAULT 1;

/* 班级编号*/
declare Id varchar(20) default '';

/* 返回班级名称*/
DECLARE result varchar(15000) DEFAULT null;

/* 班级名称*/
DECLARE Name varchar(50) DEFAULT '';

/* 串包含,个位置*/
THE_CNT = LOCATE(',',f_);

/* 判断串包含,个位置是否存在*/
while (THE_CNT >= 0) do

/* ,位置不存在场合*/
THE_CNT = 0 then

/* 班级编号设置*/
Id = f_;



/* 串中获得班级编号*/
Id = SUBSTRING_INDEX(SUBSTRING_INDEX(f_, ',', 1), ',', -1);

end ;

/* 根据班级编号获得班级名称*/
select (select name from where id = Id) o Name;

/* 返回班级编号串为空场合*/
result is null then

/* 根据编号没有查询到班级名称场合*/
Name is null then

/* 设置班级名称为空*/
Name = ' ';

end ;

/* 班级名称追加到串*/
result = Name;



/* 根据编号没有查询到班级名称场合*/
Name is null then

/* 设置班级名称为空*/
Name = '  ';

end ;

/* 班级名称追加到串*/
result = CONCAT(result,',',Name);

end ;

/* ,位置不存在场合*/
THE_CNT = 0 then

/* 返回结果集*/
result;

end ;

/* 截取传入串*/
f_ = right(f_,length(f_) - THE_CNT);

/* 串包含,个位置*/
THE_CNT = LOCATE(',',f_);

/* 结束遍历*/
end while;

/* 返回结果集*/
result;

END $$

DELIMITER ;
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: