[發明專利]一種數據查詢方法、裝置、設備及存儲介質有效
| 申請號: | 201910623936.2 | 申請日: | 2019-07-11 |
| 公開(公告)號: | CN110362593B | 公開(公告)日: | 2021-12-31 |
| 發明(設計)人: | 朱仲穎;萬偉;孟正凌 | 申請(專利權)人: | 上海達夢數據庫有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2452 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 查詢 方法 裝置 設備 存儲 介質 | ||
本發明公開了一種數據查詢方法、裝置、設備及存儲介質。該方法包括:獲取數據查詢語句,所述數據查詢語句包括查詢部分和條件部分,所述條件部分包括待查詢的目標字符串,所述目標字符串中包括至少一個通配符;所述通配符在所述目標字符串中的位置滿足預設條件,則將所述數據查詢語句轉換為預設格式的查詢語句;根據所述預設格式的查詢語句在數據庫中查詢所述目標字符串。通過上述技術方案,根據通配符所在的位置對含有通配符的查詢語句進行轉換,按照轉換后的語句查詢數據,提高了數據查詢效率。
技術領域
本發明實施例涉及數據處理技術領域,尤其涉及一種數據查詢方法、裝置、設備及存儲介質。
背景技術
結構化查詢語言(Structured Query Language,SQL)的數據查詢語句,如WHERE子句,用于對數據庫表的列數據進行目標字符串的查詢或匹配操作。例如:SELECT C FROM TWHERE C LIKE‘abc%’,其含義是從數據表T中查詢滿足‘abc%’的形式的列C,其中,WHERE語句為查詢部分,LIKE語句為條件部分,待查詢的目標字符串既可以是一個明確的字符串常量,也可以是一個包含通配符“%”或“_”等的字符串,“%”代表任意字符串(也可為空),“_”代表任意單個字符。
現有方法在查詢目標字符串時,通常直接將目標字符串與數據表中的字符串一一匹配,或者是利用通配符分段后,對每一段字符串一一匹配,數據查詢效率低。
發明內容
本發明提供了一種數據查詢方法、裝置、設備及存儲介質,以提高數據查詢效率。
第一方面,本發明實施例提供了一種數據查詢方法,包括:
獲取數據查詢語句,所述數據查詢語句包括查詢部分和條件部分,所述條件部分包括待查詢的目標字符串,所述目標字符串中包括至少一個通配符;
所述通配符在所述目標字符串中的位置滿足預設條件,則將所述數據查詢語句轉換為預設格式的查詢語句;
根據所述預設格式的查詢語句在數據庫中查詢所述目標字符串。
進一步的,所述預設條件包括:
所述通配符在所述目標字符串中的位置為非首位。
進一步的,將所述數據查詢語句轉換為預設格式的查詢語句,包括:
確定所述目標字符串中出現的第一個通配符,所述目標字符串中位于所述第一個通配符之前的字符串為第一字符串;
根據第一字符串和ASCII碼順序確定第二字符串,其中,所述第二字符串的末位字符對應的ASCII碼為所述第一字符串的末位字符對應的ASCII碼的后一個;
根據所述第一字符串和所述第二字符串生成預設格式的查詢語句。
進一步的,根據所述第一字符串和所述第二字符串生成預設格式的查詢語句,包括:
若所述目標字符串滿足預設形式,則生成包含所述第一字符串和所述第二字符串的第一條件語句,并替換所述數據查詢語句的條件部分,得到預設格式的查詢語句;
其中,所述預設形式為:所述目標字符串中的第一個通配符為“%”,且所述第一個通配符后不存在除“%”以外的其他字符。
進一步的,根據第一字符串和第二字符串生成預設格式的查詢語句,包括:
若所述目標字符串不滿足預設形式,則生成包含所述第一字符串和所述第二字符串的第二條件語句,并添加至所述數據查詢語句的條件部分,得到預設格式的查詢語句。
進一步的,所述數據查詢語句的條件部分為結構化查詢語言的LIKE語句,所述預設格式的查詢語句包括結構化查詢語言的BETWEEN語句。
第二方面,本發明實施例提供了一種數據查詢裝置,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海達夢數據庫有限公司,未經上海達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910623936.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





