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

网站的记住密码功能怎么做表白网站制作

网站的记住密码功能怎么做,表白网站制作,怎么登陆wordpress,清远做网站的有哪些JSON 一、问题描述二、ORACLE<一>、键值对拆分(REGEXP_SUBSTR)<二>、转为JSON<三>、不足 三、MYSQL<一>、键值对拆分(RECURSIVE)<二>、转为JSON 一、问题描述 假如某张表的某列是键值对数据,如何把这个键值对转为json格式,数据如下所示 dynast…

JSON

  • 一、问题描述
  • 二、ORACLE
    • <一>、键值对拆分(REGEXP_SUBSTR)
    • <二>、转为JSON
    • <三>、不足
  • 三、MYSQL
    • <一>、键值对拆分(RECURSIVE)
    • <二>、转为JSON

一、问题描述

假如某张表的某列是键值对数据,如何把这个键值对转为json格式,数据如下所示

dynastyvalue
唐朝唐太宗:李世民;唐高宗:李治;唐玄宗:李隆基;…
汉朝汉高祖:刘邦;汉文帝:刘恒;汉景帝:刘启;汉武帝:‘刘彻’;…

需要转成下面这种格式

dynastyvalue
唐朝[{“key”:“唐太宗”,“value”:“李世民”,“order”:“1”},{“key”:“唐高宗”,“value”:“李治”,“order”:“2”},{“key”:“唐玄宗”,“value”:“李隆基”,“order”:“3”}…]
汉朝[{“key”:“汉高祖”,“value”:“刘邦”,“order”:“1”},{“key”:“汉文帝”,“value”:“刘恒”,“order”:“2”},{“key”:“汉景帝”,“value”:“刘启”,“order”:“3”},{“key”:“汉武帝”,“value”:“刘彻”,“order”:“2”}…]

二、ORACLE

<一>、键值对拆分(REGEXP_SUBSTR)

with split_data as (select dynasty,regexp_substr(value,'[^;]+',1,level) as part,level as part_numfrom tableconnect by regexp_substr(value,'[^;]+',1,level) is not null
)select dynasty,part_num,regexp_substr(part,'[^;]+',1,1) as key,regexp_substr(part,'[^;]+',1,2) as valuefrom split_data

执行完就是如下形式

dynastypart_numkeyvalue
唐朝1唐太宗李世民
唐朝2唐高宗李治
唐朝3唐玄宗李隆基
汉朝1汉高祖刘邦
汉朝2汉文帝刘恒
汉朝3汉景帝刘启
汉朝4汉武帝刘彻

<二>、转为JSON

转为JSON有现成的转JSON函数,完整代码如下

with split_data as (select dynasty,regexp_substr(value,'[^;]+',1,level) as part,level as part_numfrom tableconnect by regexp_substr(value,'[^;]+',1,level) is not null
),key_value_pairs as (select dynasty,part_num,regexp_substr(part,'[^;]+',1,1) as key,regexp_substr(part,'[^;]+',1,2) as valuefrom split_data
)select dynasty,json_arrayagg(josn_object('key' VALUE key,'value' VALUE value,'order' value split_num))from key_value_pairsgroup by dynasty

<三>、不足

  • 有的键值对比较大,在ORACLE是CLOB类型,不支持字符串拆分,只能用如下MYSQL方法,再进行数据同步

三、MYSQL

<一>、键值对拆分(RECURSIVE)

  • MYSQL中没有正则字符串拆分函数,只能用递归进行拆分
with recursive kv_split as (select dynasty,trim(substring_index(value,';',1)) as kv_pairs,trim(substring(value,char_length(substring_index(value,';',1)) + 2)) as remaining,1 as splt_numfrom tableunion allselect dynasty,trim(substring_index(remaining,';',1)) as kv_pairs,trim(substring(remaining,char_length(substring_index(value,';',1)) + 2)) as remaining,split_num + 1 as splt_numfrom kv_splitwhere remaining != ''
)select dynasty,kv_pairs,splt_num from kv_split

执行完为如下形式,跟ORACLE大同小异

dynastypart_numkv_pairs
唐朝1唐太宗:李世民
唐朝2唐高宗:李治
唐朝3唐玄宗:李隆基
汉朝1汉高祖:刘邦
汉朝2汉文帝:刘恒
汉朝3汉景帝:刘启
汉朝4汉武帝:刘彻

<二>、转为JSON

转成JSON跟ORACLE一样,有现成的转JSON函数,完整代码如下所示

with recursive kv_split as (select dynasty,trim(substring_index(value,';',1)) as kv_pairs,trim(substring(value,char_length(substring_index(value,';',1)) + 2)) as remaining,1 as splt_numfrom tableunion allselect dynasty,trim(substring_index(remaining,';',1)) as kv_pairs,trim(substring(remaining,char_length(substring_index(value,';',1)) + 2)) as remaining,split_num + 1 as splt_numfrom kv_splitwhere remaining != ''
)select dynasty,json_arrayagg(json_object('key',cast(substring_index(kv_pairs,':',1) as unsigned),'value',substring_index(kv_pairs,':',-1),'order',split_num)) as json_resultfrom kv_splitgroup by dynasty
http://www.dtcms.com/wzjs/469234.html

相关文章:

  • 男人和女人做羞羞的免费网站营销推广软文
  • pw网站更换域名网站建站网站
  • wordpress 8个安全密匙优化推广网站淄博
  • 网站开发web前端高性能优化之javascript优化细节搭建自己的网站
  • 外贸网站建设560元it菜鸡网seo
  • 国内网络科技网站建设佛山网站建设公司哪家好
  • 网站如何做视频经典软文范例大全
  • 哈尔滨市建设委员会网站开创集团与百度
  • 怎么做卡盟网站免费南京网站seo
  • 自己做的网站如何在网络上展示网络推广seo公司
  • 大连建网站需要多少钱百度小说app下载
  • 模板王网站官网故事式软文范例500字
  • 做网站的好处在哪里seo下拉优化
  • 做pcb网站天津seo关键词排名优化
  • wordpress 新页面类型快手seo
  • 静态网站可以做留言板网络推广有几种方法
  • 哪个网站可以做一对一老师网站设计模板网站
  • 做网站开什么端口百度快照怎么用
  • 徐州手工活外发加工网廊坊seo排名外包
  • 河南省建设工程信息网推荐中项网合肥seo公司
  • 梧州市建设局官方网站三亚百度推广公司电话
  • 中国建筑工程网施工组织设计seo建站的步骤
  • 阿里妈妈网站推广提交新闻最新消息10条
  • 山楼小院在哪家网站做宣传指数函数图像及性质
  • 云脑网络科技网站建设小说网站排名
  • 按照wordpress西安百度快照优化
  • 网站建设上传视频教程百度网盘网页版登录
  • 网站导航页设计百度最新秒收录方法2022
  • 网站建设贵阳昆明seo网站管理
  • 做相亲网站的安全责任信息流广告怎么投放