一种数据查询方法、装置、设备及存储介质制造方法及图纸

技术编号:22364004 阅读:19 留言:0更新日期:2019-10-23 04:39
本发明专利技术公开了一种数据查询方法、装置、设备及存储介质。该方法包括:获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符;所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句;根据所述预设格式的查询语句在数据库中查询所述目标字符串。通过上述技术方案,根据通配符所在的位置对含有通配符的查询语句进行转换,按照转换后的语句查询数据,提高了数据查询效率。

A data query method, device, equipment and storage medium

【技术实现步骤摘要】
一种数据查询方法、装置、设备及存储介质
本专利技术实施例涉及数据处理
,尤其涉及一种数据查询方法、装置、设备及存储介质。
技术介绍
结构化查询语言(StructuredQueryLanguage,SQL)的数据查询语句,如WHERE子句,用于对数据库表的列数据进行目标字符串的查询或匹配操作。例如:SELECTCFROMTWHERECLIKE‘abc%’,其含义是从数据表T中查询满足‘abc%’的形式的列C,其中,WHERE语句为查询部分,LIKE语句为条件部分,待查询的目标字符串既可以是一个明确的字符串常量,也可以是一个包含通配符“%”或“_”等的字符串,“%”代表任意字符串(也可为空),“_”代表任意单个字符。现有方法在查询目标字符串时,通常直接将目标字符串与数据表中的字符串一一匹配,或者是利用通配符分段后,对每一段字符串一一匹配,数据查询效率低。
技术实现思路
本专利技术提供了一种数据查询方法、装置、设备及存储介质,以提高数据查询效率。第一方面,本专利技术实施例提供了一种数据查询方法,包括:获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符;所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句;根据所述预设格式的查询语句在数据库中查询所述目标字符串。进一步的,所述预设条件包括:所述通配符在所述目标字符串中的位置为非首位。进一步的,将所述数据查询语句转换为预设格式的查询语句,包括:确定所述目标字符串中出现的第一个通配符,所述目标字符串中位于所述第一个通配符之前的字符串为第一字符串;根据第一字符串和ASCII码顺序确定第二字符串,其中,所述第二字符串的末位字符对应的ASCII码为所述第一字符串的末位字符对应的ASCII码的后一个;根据所述第一字符串和所述第二字符串生成预设格式的查询语句。进一步的,根据所述第一字符串和所述第二字符串生成预设格式的查询语句,包括:若所述目标字符串满足预设形式,则生成包含所述第一字符串和所述第二字符串的第一条件语句,并替换所述数据查询语句的条件部分,得到预设格式的查询语句;其中,所述预设形式为:所述目标字符串中的第一个通配符为“%”,且所述第一个通配符后不存在除“%”以外的其他字符。进一步的,根据第一字符串和第二字符串生成预设格式的查询语句,包括:若所述目标字符串不满足预设形式,则生成包含所述第一字符串和所述第二字符串的第二条件语句,并添加至所述数据查询语句的条件部分,得到预设格式的查询语句。进一步的,所述数据查询语句的条件部分为结构化查询语言的LIKE语句,所述预设格式的查询语句包括结构化查询语言的BETWEEN语句。第二方面,本专利技术实施例提供了一种数据查询装置,包括:语句获取模块,用于获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符;语句转换模块,用于所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句;数据查询模块,用于根据所述预设格式的查询语句在数据库中查询所述目标字符串。进一步的,所述语句转换模块,包括:第一字符串确定单元,用于确定所述目标字符串中出现的第一个通配符,所述目标字符串中位于所述第一个通配符之前的字符串为第一字符串;第二字符串确定单元,用于根据第一字符串和ASCII码顺序确定第二字符串,其中,所述第二字符串的末位字符对应的ASCII码为所述第一字符串的末位字符对应的ASCII码的后一个;语句生成单元,用于根据所述第一字符串和所述第二字符串生成预设格式的查询语句。第三方面,本专利技术实施例提供了一种设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据查询方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据查询方法。本专利技术实施例提供了一种数据查询方法、装置、设备及存储介质。方法包括:获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符;所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句;根据所述预设格式的查询语句在数据库中查询所述目标字符串。通过上述技术方案,根据通配符所在的位置对含有通配符的查询语句进行转换,按照转换后的语句查询数据,提高了数据查询效率。附图说明图1为本专利技术实施例一提供的一种数据查询方法的流程图;图2为本专利技术实施例二提供的一种数据查询方法的流程图;图3为本专利技术实施例三提供的一种数据查询装置的结构示意图;图4为本专利技术实施例四提供的一种设备的硬件结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种数据查询方法的流程图,本实施例可适用于通过SQL语句对含有通配符的目标字符串进行查询的情况。具体的,该数据查询方法可以由数据查询装置执行,该数据查询装置可以通过软件和/或硬件的方式实现,并集成在设备中。进一步的,设备包括但不限定于:计算机、工控机、系统后台服务器以及云端服务器等具有数据查询功能的电子设备。需要说明的是,本实施例的数据查询方法,首先对用户输入的SQL语句进行语法和语义解析,对于满足预设形式的SQL语句进行等价语义的转换和优化,从而缩小数据的查询或搜索范围,按照转换后的语句在相应的数据表中查询目标字符串。如图1所示,该方法具体包括如下步骤:S110、获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符。具体的,获取用户输入的数据查询语句,该数据查询语句是SQL中用来对数据表的列数据与目标字符串进行匹配操作的,目标字符串既可以为明确的字符串常量,也可以包含通配符“%”或“_”。例如,数据查询语句可以为LIKE谓词表达式用在WHERE子句中构成的数据查询语句:SELECTCFROMTWHERECLIKE‘abc%’上述语句的查询部分为:SELECTCFROMT,条件部分为:WHERECLIKE‘abc%’,其含义是,在数据表T中查询列C,列C的数据满足“abc%”的形式,比如“abc5uc”、“abcefz5c8”都满足所述“abc%”的形式。S120、所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句。具体的,所述通配符在目标字符串的位置可以为中间部分,也可以为末尾,满足目标字符串中第一个出现的通配符前面还存在真实字符即可。前面的真实字符可以大致提供数据查询的范围,基于这一原理,利用前面的真实字符将数据查询语句转换为预设格式。在转换过程中,根据第一个出现的通配符前面的真实字符缩小数据查询范本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,包括:获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符;所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句;根据所述预设格式的查询语句在数据库中查询所述目标字符串。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:获取数据查询语句,所述数据查询语句包括查询部分和条件部分,所述条件部分包括待查询的目标字符串,所述目标字符串中包括至少一个通配符;所述通配符在所述目标字符串中的位置满足预设条件,则将所述数据查询语句转换为预设格式的查询语句;根据所述预设格式的查询语句在数据库中查询所述目标字符串。2.根据权利要求1所述的方法,其特征在于,所述预设条件包括:所述通配符在所述目标字符串中的位置为非首位。3.根据权利要求1所述的方法,其特征在于,将所述数据查询语句转换为预设格式的查询语句,包括:确定所述目标字符串中出现的第一个通配符,所述目标字符串中位于所述第一个通配符之前的字符串为第一字符串;根据第一字符串和ASCII码顺序确定第二字符串,其中,所述第二字符串的末位字符对应的ASCII码为所述第一字符串的末位字符对应的ASCII码的后一个;根据所述第一字符串和所述第二字符串生成预设格式的查询语句。4.根据权利要求3所述的方法,其特征在于,根据所述第一字符串和所述第二字符串生成预设格式的查询语句,包括:若所述目标字符串满足预设形式,则生成包含所述第一字符串和所述第二字符串的第一条件语句,并替换所述数据查询语句的条件部分,得到预设格式的查询语句;其中,所述预设形式为:所述目标字符串中的第一个通配符为“%”,且所述第一个通配符后不存在除“%”以外的其他字符。5.根据权利要求3所述的方法,其特征在于,根据第一字符串和第二字符串生成预设格式的查询语句,包括:若所述目标字符串不满足预设形式,则生成包含所述第一字符串和所述第二字符串的第二条件语句,并...

【专利技术属性】
技术研发人员:朱仲颖万伟孟正凌
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1