mysql取属性数据_Mysql JSON字段提取某一个属性值的函数

mysql从5.7开始才支持JSON_EXTRACT等 JSON相关的函数,

项目里用到的mysql是5.6的,需要提取JSON字段里某一个属性值进行统计,

自己写了一个笨的提取方法:

CREATE DEFINER=`root`@`%` FUNCTION `jsonExtract`(`fieldName` varchar(30),`jsonStr` varchar(1024)) RETURNS double

BEGIN

declare firstPos int;

declare firstStr varchar(1024);

declare secondPos int;

declare thirdPos int;

declare resultStr varchar(200);

declare result double;

set firstPos = POSITION(fieldName IN jsonStr);

set firstStr = SUBSTR(jsonStr,firstPos);

set secondPos = POSITION(':' IN firstStr);

set thirdPos = POSITION(',' IN firstStr);

set resultStr = SUBSTR(firstStr,secondPos+1,thirdPos-secondPos-1);

set result = CONVERT(resultStr,decimal(20,6));

RETURN result;

END

我这里最后转成了double返回。

里面用到了几个mysql自带函数

1. position 定位字符串 子串的位置

2. substr  字符串截取

3. convert 数据类型转换

【web开发--js学习】functionName 如果是一个属性值,函数将不会被调用

Altium Designer 14(或者其他版本)里更改PCB板(图纸)大小

1.在PCB板界面下方有一行不同颜色的图层选项,找到“Keep-Out Layer”,没看见的话点击右箭头即可找到.   2.在“Place”选项里面选择“line”,也就是添加线,把你所有元件用线条 ...

【QT相关】Image Viewer Example

结合QLable和QScrollArea显示一个图片. QLable典型用于用户展示文本,但是也能展示图片.QScrollArea提供了一个滚动视图,如果子控件超过了框架限制,QScrollArea自 ...

Open-Falcon第五步安装Query(小米开源互联网企业级监控系统)

安装Query query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户. cd /usr/local/open-falc ...

关于jquery插件模板的两个案例

/** * jquery tips 提示插件 jquery.tips.js v0.1beta * * 使用方法 * $(selector).tips({ //selector 为jquery选择器 * ...

TabLayout+ViewPager 标题不显示问题

第一次用TabLayout+ViewPager 组合在布局中写好了三个标题预览没问题而且也设置了 app:tabIndicatorColor="@color/colorAccent&quot ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值