qq_15676309 2015-04-07 05:09 采纳率: 66.7%
浏览 2047

Mysql向表中某个字段添加有规律字符串怎么写SQL语句?例如(1P,2P,3P)

图片说明
如图所示
表 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语句?

  • 写回答

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
    
    评论

报告相同问题?

悬赏问题

  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?