CN115857944A - 一种基于sql解析json数组字段并分行展示的方法 - Google Patents

一种基于sql解析json数组字段并分行展示的方法 Download PDF

Info

Publication number
CN115857944A
CN115857944A CN202211566109.2A CN202211566109A CN115857944A CN 115857944 A CN115857944 A CN 115857944A CN 202211566109 A CN202211566109 A CN 202211566109A CN 115857944 A CN115857944 A CN 115857944A
Authority
CN
China
Prior art keywords
json
amt
character string
field
sequence number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211566109.2A
Other languages
English (en)
Inventor
高宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tonglian Financial Services Co Ltd
Original Assignee
Shanghai Tonglian Financial Services Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Tonglian Financial Services Co Ltd filed Critical Shanghai Tonglian Financial Services Co Ltd
Priority to CN202211566109.2A priority Critical patent/CN115857944A/zh
Publication of CN115857944A publication Critical patent/CN115857944A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于sql解析json数组字段并分行展示的方法,包括以下步骤:新建序号表,所述序号表的序号从0开始;采用json_extract函数解析json数组字段,得到字段合集;采用replace函数对所述字段合集进行处理,去除所述字段合集最外层的中括号,并将字段合集中各单个json字符串之间的逗号改为分号,得到json字符串组,各单个json字符串内包含id;计算单个json字符串个数;根据单个json字符串个数将json字符串组通过左关联的方式填入序号表中,得到多行字符串;以行号为依据,去掉id大于和id小于行号+1的单个json字符串,得到分行单个json字符串。本发明实现了对json数组字段进行解析并且分行展示的功能。

Description

一种基于sql解析json数组字段并分行展示的方法
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于sql解析json数组字段并分行展示的方法。
背景技术
营销过程中,规则参数通常会以json数组的格式存入数据库中,有时会出现针对json数组字段中的key值进行联表查询以及排序分页的情况,但目前通常都是一整行存入的方式,导致难以单独按照key值查询。
因此有必要提供一种基于sql解析json数组字段并分行展示的方法,实现对json数组字段进行解析并且分行展示的功能。
发明内容
本发明的目的在于提供一种基于sql解析json数组字段并分行展示的方法,实现对json数组字段进行解析并且分行展示的功能。
为了解决现有技术中存在的问题,本发明提供了一种基于sql解析json数组字段并分行展示的方法,包括以下步骤:
新建序号表,所述序号表的序号从0开始;
采用json_extract函数解析json数组字段,得到字段合集;
采用replace函数对所述字段合集进行处理,去除所述字段合集最外层的中括号,并将字段合集中各单个json字符串之间的逗号改为分号,得到json字符串组,各单个json字符串内包含id;
计算单个json字符串个数;
根据单个json字符串个数将json字符串组通过左连接的方式填入序号表中,得到多行字符串;
以行号为依据,去掉id大于和id小于行号+1的单个json字符串,得到分行单个json字符串。
可选的,在所述基于sql解析json数组字段并分行展示的方法中,各单个json字符串还包含对应的key值。
可选的,在所述基于sql解析json数组字段并分行展示的方法中,各单个json字符串的id依次为1、2、3……n。
可选的,在所述基于sql解析json数组字段并分行展示的方法中,
json数组字段为:
{"rule":[{"id":"1","amt":10},{"id":"2","amt":20},{"id":"3","amt":30}]}
字段合集为:
[{"id":"1","amt":10},{"id":"2","amt":20},{"id":"3","amt":30}];
json字符串组为:
{"id":"1","amt":10};{"id":"2","amt":20};{"id":"3","amt":30}。
可选的,在所述基于sql解析json数组字段并分行展示的方法中,多行字符串为:
重复多行所述json字符串组,行数等于最大id值,所述序号表的序号等于id值减1。
在本发明所提供的基于sql解析json数组字段并分行展示的方法中,通过将json数组字段解析拆分,实现了对json数组字段进行解析并且分行展示的功能。
附图说明
图1为本发明实施例提供的解析方法的流程图;
图2为本发明实施例提供的多行字符串的示意图;
图3a-3b为本发明实施例提供的截取字符串的示意图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
在下文中,如果本文所述的方法包括一系列步骤,本文所呈现的这些步骤的顺序并非必须是可执行这些步骤的唯一顺序,且一些所述的步骤可被省略和/或一些本文未描述的其他步骤可被添加到该方法。
营销过程中,规则参数通常会以json数组的格式存入数据库中,有时会出现针对json数组字段中的key值进行联表查询以及排序分页的情况,但目前通常都是一整行存入的方式,导致难以单独按照key值查询。
为了解决现有技术中存在的问题,本发明提供了一种基于sql解析json数组字段并分行展示的方法,如图1所示,所述方法包括以下步骤:
新建序号表,所述序号表的序号从0开始;
采用json_extract函数解析json数组字段,得到字段合集;
采用replace函数对所述字段合集进行处理,去除所述字段合集最外层的中括号,并将字段合集中各单个json字符串之间的逗号改为分号,得到json字符串组,各单个json字符串内包含id;
计算单个json字符串个数;
根据单个json字符串个数将json字符串组通过左连接的方式填入序号表中,得到多行字符串;
以行号为依据,去掉id大于和id小于行号+1的单个json字符串,得到分行单个json字符串。
进一步的,各单个json字符串还包含对应的key值。各单个json字符串的id依次为1、2、3……n。
新建序号表的方式为:根据json数组字段中json字符串初始化id,从0开始:
createTABLEKEY(
idintnotnullprimarykey
)。
可选的,在一个实施例中,
json数组字段为:
{"rule":[{"id":"1","amt":10},{"id":"2","amt":20},{"id":"3","amt":30}]}
字段合集为:
[{"id":"1","amt":10},{"id":"2","amt":20},{"id":"3","amt":30}];
json字符串组为:
{"id":"1","amt":10};{"id":"2","amt":20};{"id":"3","amt":30}。
可选的,在所述基于sql解析json数组字段并分行展示的方法中,多行字符串为:重复多行所述json字符串组,行数等于最大id值,所述序号表的序号等于id值减1。
左连接的方式为:leftjoin序号表onKEY.id<
length(json)-length(replace(json,’;’,”))+1,
length(json)-length(replace(json,’;’,”))+1用于计算json元素个数,leftjoin,得到如图2所示的数据。
进一步的,如图3a和3b所示,以行号为依据,去掉id大于和id小于行号+1的单个json字符串,得到分行单个json字符串,从而达到对json数组字段解析并分行的功能。
综上,在本发明所提供的基于sql解析json数组字段并分行展示的方法中,通过将json数组字段解析拆分,实现了对json数组字段进行解析并且分行展示的功能。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。

Claims (5)

1.一种基于sql解析json数组字段并分行展示的方法,其特征在于,包括以下步骤:
新建序号表,所述序号表的序号从0开始;
采用json_extract函数解析json数组字段,得到字段合集;
采用replace函数对所述字段合集进行处理,去除所述字段合集最外层的中括号,并将字段合集中各单个json字符串之间的逗号改为分号,得到json字符串组,各单个json字符串内包含id;
计算单个json字符串个数;
根据单个json字符串个数将json字符串组通过左连接的方式填入序号表中,得到多行字符串;
以行号为依据,去掉id大于和id小于行号+1的单个json字符串,得到分行单个json字符串。
2.如权利要求1所述的基于sql解析json数组字段并分行展示的方法,其特征在于,各单个json字符串还包含对应的key值。
3.如权利要求1所述的基于sql解析json数组字段并分行展示的方法,其特征在于,各单个json字符串的id依次为1、2、3……n。
4.如权利要求3所述的基于sql解析json数组字段并分行展示的方法,其特征在于,
json数组字段为:
{"rule":[{"id":"1","amt":10},{"id":"2","amt":20},{"id":"3","amt":30}]}
字段合集为:
[{"id":"1","amt":10},{"id":"2","amt":20},{"id":"3","amt":30}];
json字符串组为:
{"id":"1","amt":10};{"id":"2","amt":20};{"id":"3","amt":30}。
5.如权利要求4所述的基于sql解析json数组字段并分行展示的方法,其特征在于,多行字符串为:
重复多行所述json字符串组,行数等于最大id值,所述序号表的序号等于id值减1。
CN202211566109.2A 2022-12-07 2022-12-07 一种基于sql解析json数组字段并分行展示的方法 Pending CN115857944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211566109.2A CN115857944A (zh) 2022-12-07 2022-12-07 一种基于sql解析json数组字段并分行展示的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211566109.2A CN115857944A (zh) 2022-12-07 2022-12-07 一种基于sql解析json数组字段并分行展示的方法

Publications (1)

Publication Number Publication Date
CN115857944A true CN115857944A (zh) 2023-03-28

Family

ID=85670868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211566109.2A Pending CN115857944A (zh) 2022-12-07 2022-12-07 一种基于sql解析json数组字段并分行展示的方法

Country Status (1)

Country Link
CN (1) CN115857944A (zh)

Similar Documents

Publication Publication Date Title
Jansen et al. Constructing dense genetic linkage maps
US10204207B2 (en) Systems and methods for transcriptome analysis
Harris et al. Improved representation of sequence bloom trees
EP2963575B1 (en) Data analysis device and method therefor
EP3072076B1 (en) A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure
CN107004141A (zh) 对大样本组的高效标注
CN109902142B (zh) 一种基于编辑距离的字符串模糊匹配和查询方法
CN108521588A (zh) 一种基于时间分片的主播排名方法及系统、服务器及存储介质
US20120041977A1 (en) Pair character string retrieval system
CN104899476A (zh) 一种对多序列bwt索引构建进行并行加速的方法
CN104636454B (zh) 一种面向大规模异构数据的联合聚类方法
EP3955256A1 (en) Non-redundant gene clustering method and system, and electronic device
CN115857944A (zh) 一种基于sql解析json数组字段并分行展示的方法
CN117012282A (zh) 一种基于图注意力网络的rna-疾病相关性预测方法
CN110515939A (zh) 一种基于gpu的多列数据排序方法
CN106776704B (zh) 统计信息收集方法和装置
CN116130002A (zh) 一种dna序列多态分析方法及系统
Nguyen et al. Efficient agglomerative hierarchical clustering for biological sequence analysis
Hiltemann et al. 16S Microbial Analysis with mothur (extended)
KR101584857B1 (ko) 염기 서열 정렬 시스템 및 방법
CN111221864A (zh) 一种基于mysql慢查询日志词频分析的索引智能推荐方法
CN110990257B (zh) 用于代码级测试用例集自动生成方法
CN112765144B (zh) 一种健康医疗大数据合并后冲突项的检查与校正方法
CN116153410B (zh) 微生物基因组参考数据库及其构建方法和应用
CN105631243A (zh) 病原微生物的检测方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination