例如:在产品表product表中字段content值为["10"],然后在产品表中新建一个字段product_id,提出字段content的值10,如何实现呢?
解:
update (select id,substring(content,3,instr(content,"\"]")-3) as product_id FROM `product`) b,product a set a.product_id = b.product_id WHERE a.id = b.id
解析:
instr(字段名, 字符串)——这个函数返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始)
substring(被截取字段,从第几位开始截取,截取长度)
拓展:
left(被截取的字段,截取长度)——从左开始截取字符串
right(被截取的字段,截取长度)——从右开始截取字符串
substring_index(被截取字段,关键字,关键字出现的次数)——按关键字截取字符串
(注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束)