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

泉州北京网站建设建设网站 法律责任

泉州北京网站建设,建设网站 法律责任,html5标签,培训网站排名场景 两个表管理查询 关联字段为A表id, B表的ids A表id是正常的整数, B的ids是id拼接成的字符类型, 格式是111,222,333这样的. A: B: id ids11 11,22,3322 33,44,5533 …
场景

        两个表管理查询 关联字段为A表id, B表的ids
        A表id是正常的整数, B的ids是id拼接成的字符类型, 格式是111,222,333这样的. 

A:                    B: id                    ids11                    11,22,3322                    33,44,5533                    22

现在问题是 其他条件匹配的情况下,在判断下a.id是否在b.ids中

直接用字符串操作的话感觉有点无从下手, 因为判断包含的话会有特殊情况的存在,比如112,223包含11,但是显然他们不匹配.


问题解决

        我是将ids拼接成了jsonArray,然后使用JSON_SEARCH判断包含的. 
格式  JSON_SEARCH(jsonArray串,'匹配类型','查找字段')

select * from a left join b on a.xx=b.xx and json_search( concat( '["', replace( b.ids, ',', '","' ), '"]' ), 'one', a.id )IS NOT NULL  ;Select JSON_SEARCH('["111","222","333","111222333"]','all',"111") from dual;   
输出: "$[0]" 说明存在 不存在的话是null

        第一个参数json数组可以是表的字段, 也可以是表字段或者纯字符拼接起来的. 但是需要注意的是, 元素是整数类型的JsonArray时,是查不出来的. 必须要拼成字符类型的. a.org_ids是varchar类型, 格式是132,323,123 这样的类型, s.org_id 是单个的id 直接拼接[132,323,123] 这样的话是查不出来里面的元素的. 需要转成["132","323","123"]这样的. 

        第二个参数是 'one' 或 'all'。如果指定 'one',则查询只返回一个匹配项;如果指定 'all',则查询返回数组中所有匹配的项。

Select JSON_SEARCH('["111","222","111","111222333"]','all',"111") from dual;   
输出: "["$[0]", "$[2]"]" 说明存在 2个

此外还有JSON_EXTRACT / JSON_CONTAINS等函数可以了解 
-----------------------------------------------------------------------------------JSON_EXTRACT,可以从JSONArray中提取出指定索引位置的值Select JSON_EXTRACT('["111","222","333","111222333"]','$[0]') from dual;   返回111. 可以搭配like判断包含JSON_CONTAINS, 判断是否包含元素Select JSON_CONTAINS('["111","222","333","111222333"]','["1"]', '$') from dual         存在返回1, 不存在返回0


        后来又想到一种方法. 将b.ids拼接为 "123","456","789" 这样格式的字符串, 然后再将a.id拼接成"123". 然后 使用 LOCATE(substr,str)/POSITION(substr IN str)/INSTR(str,substr) 等函数, 判断是否存在也可以实现. 


其实问题的关键在于将ids里面的每个id边缘确定,

http://www.yayakq.cn/news/259176/

相关文章:

  • 西安网站开发服务费用小程序开发教程文档
  • 哈尔滨网页设计西安网站seo排名优化
  • 苏州网站建设外贸广告设计软件coreldraw教程
  • 做网站微信群企业网站建设策划书标准版
  • 东莞网站优化推广方案HS酒店网站建设
  • wordpress 表白芜湖网站优化
  • 单页网站建设哪里有提供注册qq空间网站
  • 怎么提交公司网站创意品牌型网站
  • html做网站的代码人工智能网页设计
  • 装饰网站建设软件下载网页打不开怎么设置浏览器
  • 佛山网站优化多少钱查看网站是由什么开源做的
  • 做美工需要知道的设计网站网站找谁备案
  • 正规网站建设方案详细腾讯云域名续费
  • 产品宣传类网站设计wordpress图书页面
  • 企业网站建设 全包模板网站建设方案
  • 做网站兼容性如何处理哈尔滨seo排名优化公司价格
  • 天河建设网站多少钱wordpress分页效果
  • 介绍做燕窝的网站seo搜索引擎优化费用
  • 高端服装产品网站建设开软件外包公司赚钱吗
  • apache建设网站旅游网站建设的规模设想
  • 网站建设与维护的卷子oa系统全称
  • 制作网站开发用的图片国外哪个网站做服装
  • 只用html5可以做网站吗做网站获取手机号码
  • 宁波哪里可以做网站河北住房和城乡建设厅网站首页
  • 网站横向菜单wordpress评论验证码
  • 漳州网站建设优化太原建设局网站
  • 网站建设与维护相关知识手机版制作app软件
  • 柳州市住房和城乡建设部网站wordpress 插件放在那
  • 桥梁建设杂志有假网站吗校园网站如何管理
  • 福州手游网站建设晋江论坛怎么贴图