mysql如何截取一段字符串?
问题描述:
要截取的数字不一定都是5位数,如图两个/"需要的数据"/里的内容,用SUBSTRING截取不行!
答
-- 带双引号 “123” select json_extract(字段名,'$.id')
select json_extract('{\"aa\":\"self\",\"id\":\"123\"}','$.id') id;
-- 不带双引号 123 select SUBSTRING(字段名,'$.id'),2,LENGTH(字段名,'$.id'))-2)
select SUBSTRING(json_extract('{\"aa\":\"self\",\"id\":\"123\"}','$.id'),2,LENGTH(json_extract('{\"aa\":\"self\",\"id\":\"123\"}','$.id'))-2) id;
答
这是json字符串呀,通过后端生成发给前端,或者前端发出后端接收,后端或者前端将其转成json对象进行使用,获取红框里的value通过key即可就是你上面的id,而不是靠分割字符串,将对应的数据处理好后再传到数据库对应的表中
答
这种可以用**json_extract(字段名,'$.id')**获取json字符串的值,或者取出来转成JSON对象再获取
答
用正则表达式。substring肯定可以。先indexof \”id":"再加上其长度就是数字的开始位,再在id后面indexof "就能找到数字的尾了