[發(fā)明專利]一種數(shù)據(jù)庫查詢方法、系統(tǒng)、介質(zhì)及設(shè)備有效
| 申請?zhí)枺?/td> | 202010125920.1 | 申請日: | 2020-02-27 | 
| 公開(公告)號: | CN111291074B | 公開(公告)日: | 2023-03-28 | 
| 發(fā)明(設(shè)計(jì))人: | 韓志宏 | 申請(專利權(quán))人: | 北京思特奇信息技術(shù)股份有限公司 | 
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2455;G06F16/248;G06F16/28 | 
| 代理公司: | 北京輕創(chuàng)知識產(chǎn)權(quán)代理有限公司 11212 | 代理人: | 厲洋洋 | 
| 地址: | 100089 北京市海淀*** | 國省代碼: | 北京;11 | 
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫 查詢 方法 系統(tǒng) 介質(zhì) 設(shè)備 | ||
1.一種數(shù)據(jù)庫查詢方法,其特征在于,包括:
獲取SQL查詢語句,在所述SQL查詢語句中預(yù)設(shè)行、列分隔符,并進(jìn)行待查詢列的格式轉(zhuǎn)換,生成滿足格式化要求的SQL查詢語句;
將所述滿足格式化要求的SQL查詢語句輸入SQL Plus執(zhí)行查詢操作,獲取查詢結(jié)果;
將所述查詢結(jié)果按照行、列進(jìn)行解析,根據(jù)解析結(jié)果拼裝成標(biāo)準(zhǔn)JSON格式查詢結(jié)果字符串;
將所述標(biāo)準(zhǔn)JSON格式查詢結(jié)果字符串返回給查詢方。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取SQL查詢語句,在所述SQL查詢語句中預(yù)設(shè)行、列分隔符,并進(jìn)行待查詢列的格式轉(zhuǎn)換,生成滿足格式化要求的SQL查詢語句,包括:
截取所述SQL查詢語句在“select”字符串和“from”字符串中間的部分,記為數(shù)據(jù)待查詢列原始字符串;
根據(jù)所述數(shù)據(jù)待查詢列原始字符串中的“,”對所述數(shù)據(jù)待查詢列原始字符串進(jìn)行分組,得到字符串?dāng)?shù)組;
為所述字符串?dāng)?shù)組中除最后一個字符串外的每個字符串加上列分隔符,最后一個字符串加上行分隔符,獲得待查詢列字符串;
對所述待查詢列字符串進(jìn)行格式轉(zhuǎn)換,得到以相應(yīng)分隔符分隔返回結(jié)果列名的數(shù)據(jù)待查詢列格式化字符串;
將所述數(shù)據(jù)待查詢列格式化字符串拼接在“select”字符串和“from”字符串中間,生成滿足格式化要求的SQL查詢語句。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對所述待查詢列字符串進(jìn)行格式轉(zhuǎn)換,得到以相應(yīng)分隔符分隔返回結(jié)果列名的數(shù)據(jù)待查詢列格式化字符串,包括:
對所述待查詢列字符串進(jìn)行分析,如果所述待查詢列字符串存在字符串“AS”,則將字符串“AS”后面的字符串作為返回結(jié)果列名;
如果所述待查詢列字符串不存在字符串“AS”,則查詢所述待查詢列字符串是否存在字符“.”,如果存在,則將字符“.”后面的字符串作為返回結(jié)果列名;否則,將所述待查詢列字符串中的列名直接作為返回結(jié)果列名;
以相應(yīng)的分隔符分隔所述返回結(jié)果列名,得到數(shù)據(jù)待查詢列格式化字符串。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述查詢結(jié)果按照行、列進(jìn)行解析,根據(jù)解析結(jié)果拼裝成標(biāo)準(zhǔn)JSON格式查詢結(jié)果字符串,包括:
利用所述查詢結(jié)果中的行列分隔符對所述查詢結(jié)果的文本信息進(jìn)行解析,利用二層循環(huán)語句,將解析結(jié)果放入JSON對象中,重新拼裝成標(biāo)準(zhǔn)JSON格式查詢結(jié)果字符串。
5.一種數(shù)據(jù)庫查詢系統(tǒng),其特征在于,包括:
查詢語句解析模塊,用于獲取SQL查詢語句,在所述SQL查詢語句中預(yù)設(shè)行、列分隔符,并進(jìn)行待查詢列的格式轉(zhuǎn)換,生成滿足格式化要求的SQL查詢語句;
查詢結(jié)果獲取模塊,用于將所述滿足格式化要求的SQL查詢語句輸入SQL Plus執(zhí)行查詢操作,獲取查詢結(jié)果;
查詢結(jié)果拼裝模塊,用于將所述查詢結(jié)果按照行、列進(jìn)行解析,根據(jù)解析結(jié)果拼裝成標(biāo)準(zhǔn)JSON格式查詢結(jié)果字符串;
查詢結(jié)果返回模塊,用于將所述標(biāo)準(zhǔn)JSON格式查詢結(jié)果字符串返回給查詢方。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述查詢語句解析模塊,具體用于:
截取所述SQL查詢語句在“select”字符串和“from”字符串中間的部分,記為數(shù)據(jù)待查詢列原始字符串;
根據(jù)所述數(shù)據(jù)待查詢列原始字符串中的“,”對所述數(shù)據(jù)待查詢列原始字符串進(jìn)行分組,得到字符串?dāng)?shù)組;
為所述字符串?dāng)?shù)組中除最后一個字符串外的每個字符串加上列分隔符,最后一個字符串加上行分隔符,獲得待查詢列字符串;
對所述待查詢列字符串進(jìn)行格式轉(zhuǎn)換,得到以相應(yīng)分隔符分隔返回結(jié)果列名的數(shù)據(jù)待查詢列格式化字符串;
將所述數(shù)據(jù)待查詢列格式化字符串拼接在“select”字符串和“from”字符串中間,生成滿足格式化要求的SQL查詢語句。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京思特奇信息技術(shù)股份有限公司,未經(jīng)北京思特奇信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010125920.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
 - 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
 - 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
 - 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
 - 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
 - 容器數(shù)據(jù)庫
 - 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
 - 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
 - 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
 - 數(shù)據(jù)庫語句執(zhí)行方法及裝置
 





