当前位置: 首页 > news >正文

邢台网站改版制作公司dw网页制作教程合集

邢台网站改版制作公司,dw网页制作教程合集,在线设计自己的签名免费,企业简介 网站建设前言 表中的一个字段类型是字符串,存的是一个对象数据。 现在要根据对象中的某个属性,获取到整个对象信息。 如果是mysql8,则可以使用JSON_TABLE。 示例:https://blog.csdn.net/weixin_44071721/article/details/123347229 sele…

前言

表中的一个字段类型是字符串,存的是一个对象数据。
现在要根据对象中的某个属性,获取到整个对象信息。
如果是mysql8,则可以使用JSON_TABLE。
示例:https://blog.csdn.net/weixin_44071721/article/details/123347229

select '[{"k": "1", "v": "https://www.bilibili.com/video/BV1dU4y147t8?from=search&seid=17686981769015229460&spm_id_from=333.337.0.0c", "desc": "提升排名视频课程"}, {"k": "1", "v": "https://www.bilibili.com/video/BV1xq4y1G7Mj?from=search&seid=272572936245601262&spm_id_from=333.337.0.0", "desc": "提升排名视频课程"}, {"k": "2", "v": "https://www.bilibili.com/video/BV1Sq4y1C7Jc?from=search&seid=272572936245601262&spm_id_from=333.337.0.0", "desc": "xxxx视频课程"}, {"k": "2", "v": "https://www.bilibili.com/video/BV1Ws411P7Nu?from=search&seid=272572936245601262&spm_id_from=333.337.0.0", "desc": "xxxx视频课程"}]' into @aa;
SELECT @aa;select*
fromjson_table(@aa,'$[*]' columns (k varchar(500) path '$.k',`v` varchar(500) path '$.v',`desc` varchar(500) path '$.desc')) as tt
where tt.k = 1

但是5.7的没找到相关函数。

解决办法

SET @content = '[{"id":"882310097019154331","val":"质量安全部关闭全部电源,桌面清理干净,整理好个人工位!"},{"id":"882310099668482231","val":"市场运营部关闭全部电源,桌面清理干净,整理好个人工位!"},{"id":"882310095679757656","val":"研发生产中心(上海)关闭全部电源,桌面清理干净,整理好个人工位!无需工作的电脑、笔记本、主机等机器关闭关停!"},{"id":"882310092710195768","val":"研发生产中心(成都)关闭全部电源,桌面清理干净,整理好个人工位!无需工作的电脑、笔记本、主机等机器关闭关停!"},{"id":"882310091462264051","val":"物资保障部关闭全部电源,桌面清理干净,整理好个人工位!"},{"id":"882310098660146571","val":"项目工程部部关闭全部电源,桌面清理干净,整理好个人工位!"},{"id":"882310095734354651","val":"综合管理部关闭全部电源,桌面清理干净,整理好个人工位!"},{"id":"882310093022062399","val":"财务金融部部关闭全部电源,桌面清理干净,整理好个人工位!储物间清理干净!"}]';set @keyword = '882310099668482231';-- 获取到当前参数在json中的哪一个对象里面,它的下标是多少
select JSON_SEARCH( @content, 'one', @keyword )-- 去除下标两边的双引号
select TRIM('"' FROM JSON_SEARCH( @content, 'one', @keyword ))-- 去除多余的.id,得到目标对象坐标
select SUBSTRING( TRIM('"' FROM JSON_SEARCH( @content, 'one', @keyword )), 1, LOCATE( '.id', TRIM('"' FROM JSON_SEARCH( @content, 'one', @keyword )) ) - 1 ) -- 使用坐标获取对象信息
select JSON_EXTRACT(@content, SUBSTRING( TRIM('"' FROM JSON_SEARCH( @content, 'one', @keyword )), 1, LOCATE( '.id', TRIM('"' FROM JSON_SEARCH( @content, 'one', @keyword )) ) - 1 )  )-- 把sql做成存储过程
DELIMITER //
CREATE PROCEDURE GetJsonValue(IN content TEXT, IN keyword TEXT)
BEGINDECLARE keyword_path TEXT;-- 移除 content 中的双引号,因为 JSON_SEARCH 返回带引号的字符串SET keyword_path = TRIM('"' FROM JSON_SEARCH(content, 'one', keyword));-- 使用 SUBSTRING 函数截取所需的路径,并返回结果SELECT JSON_EXTRACT(content, SUBSTRING(keyword_path, 1, LOCATE('.id', keyword_path) - 1));
END //
DELIMITER ;-- 测试存储过程(json字符为对象或者数组都可以)
CALL GetJsonValue(@content, '882310091462264051');

在xml中使用

SELECTa.hazard_registration_id, a.hazard_registration_code,a.STATUS, a.description, a.attachments,a.register_by, DATE_FORMAT(a.register_time, '%Y-%m-%d %H:%i:%s') AS registerTimeStr,f.tracking_by, f.hazard_tracking_id,e.risk_point_type,case when b.type = 1 then TRIM('"' from JSON_EXTRACT(c.contentdetail , '$.val'))when b.type = 2 then concat(e.risk_point_name,'-', d.risk_source_name)end as position,case when b.type = 1 then a.responsible_person_bywhen b.type = 2 then d.charge_personend responsiblePersonId
FROMtb_hazard_registration a
LEFT JOIN tb_hazard_investigation_plan b ON a.hazard_investigation_plan_id = b.hazard_investigation_plan_id
LEFT JOIN (SELECTx.content_id,JSON_EXTRACT(y.content, JSON_UNQUOTE(SUBSTRING(TRIM('"' FROM JSON_SEARCH(y.content, 'one', x.content_id)), 1, LOCATE('.id', TRIM('"' FROM JSON_SEARCH(y.content, 'one', x.content_id))) - 1))) AS contentdetailFROMtb_hazard_registration xINNER JOIN tb_hazard_investigation_plan y ON x.hazard_investigation_plan_id = y.hazard_investigation_plan_id
) c ON a.content_id = c.content_id
LEFT JOIN tb_risk_source d on b.type = 2 and JSON_EXTRACT(c.contentdetail , '$.riskSourceId') = d.risk_source_id
LEFT JOIN tb_risk_point e on b.type = 2 and JSON_EXTRACT(c.contentdetail , '$.riskPointId') = e.risk_point_id
LEFT JOIN tb_hazard_tracking f ON a.hazard_registration_id = f.hazard_registration_id
http://www.yayakq.cn/news/410092/

相关文章:

  • 网站建1设公司网页版微信二维码已失效
  • 中国设计师个人网站淘宝上做网站的生意怎么样
  • 上海十大网站建设摄影主题 wordpress
  • 宝安网站设计最好的公司wordpress编辑权限
  • 怎么注册国外网站一个网站费用
  • 个人网站建设规划论文100个电商平台
  • 电商网站设计的准则是什么广西建网站公司
  • 可以做360度全景图的网站大型网站快速排名
  • 网站优化怎么做分录小游戏网页版入口
  • 营销型企业网站特点网页布局图片
  • 可以做头像的网站网站建设无法访问网站
  • 网站做淘客建一个网站模板网
  • 金融系统网站模板深圳龙华区大浪街道
  • 门户网站建设目的南充二手房
  • 网站点击率高用模板搭建的网站备案吗
  • 廊坊网站制作工具wordpress 文章 格式
  • treeson wordpress网奇seo赚钱培训
  • 免费制作网站方案为什么做可信网站
  • 做网站基本步骤模板建站平台
  • 青岛网站设计公司男朋友说是做竞彩网站维护的
  • 广州哪家网站建设最好外贸营销渠道
  • sharepoint 网站开发网络营销企业推广策划
  • 网站运营总结网页制作工具有
  • 绍兴建设开发有限公司网站首页网站建设会遇到哪些问题
  • 手表东莞网站建设技术支持南京seo排名外包
  • 成都行业网站永川网站设计
  • 网站开发小作业技术支持::天空网络-临汾做网站
  • 苏州建设工程交易中心网站如何抄袭网站
  • 西安行业网站国外品牌网站建设
  • 陵水网站建设价格购物网站的设计