如图所示
表 b 有三个字段aid,partname,partid,我希望partid字段可以根据partname字段的值添加有规律的字符串。
例如 partname字段值为PART 1则partid字段添加值 1P,partname字段值为PART 2则partid字段添加值 2P,
partname的值除了上述格式还有TV 01,TV 02,特征都是字符串有(无)空格加数字,
还有种就是数字夹在字符串中间的,第1話,第2話,第11話.最后一种最简单的是纯数字,1,2,3
反正就是用语句把这三种特征的字段其中的数字提取出来,在partid字段添加1P,2P,
3P的值。
请问各位数据库大神这样应该怎么写SQL语句?
Mysql向表中某个字段添加有规律字符串怎么写SQL语句?例如(1P,2P,3P)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- danielinbiti 2015-04-07 06:00关注
建一个函数吧
create function getnum(varstring varchar(50)) returns varchar(30) BEGIN declare v_length int default 0 ; declare v_tmp varchar(50) default ''; set v_length=char_length(varstring); while v_length > 0 do if (ascii(mid(varstring,v_length,1))>47 and ascii(mid(varstring,v_length,1))<58 ) then set v_tmp=concat(v_tmp,mid(varstring,v_length,1)); end if; set v_length = v_length - 1; end while; return reverse(v_tmp); END; SELECT getnum(PARTNAME) AS R,PARTNAME FROM b
解决 无用评论 打赏 举报