[发明专利]查询语句的字符串处理方法及装置在审
| 申请号: | 202110142308.X | 申请日: | 2021-02-02 |
| 公开(公告)号: | CN112783919A | 公开(公告)日: | 2021-05-11 |
| 发明(设计)人: | 廖美东;黄晓涛 | 申请(专利权)人: | 广州海量数据库技术有限公司 |
| 主分类号: | G06F16/245 | 分类号: | G06F16/245 |
| 代理公司: | 北京尚钺知识产权代理事务所(普通合伙) 11723 | 代理人: | 王海荣 |
| 地址: | 510510 广东省广州市天河区建*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 查询 语句 字符串 处理 方法 装置 | ||
本发明提供一种查询语句的字符串处理方法及装置,该方法包括:在对SQL查询语句的字符串处理时,判断当前字符是否为英文字母q;在当前字符是否为英文字母q时,继续判断下一字符是否为单引号字符;在下一字符为单引号字符时,将所述单引号字符后面的第一个字符作为第一标识符;将第一标识符与第二标识符之间的字符作为提取的字符串,第二标识符位于第一标识符之后,所述第二标识符后面的第一个字符为单引号字符;其中,当所述第一字符为用于表征左侧括号的字符时,第二标识符为所述第一字符对应的右侧括号的字符;当所述第一字符为用于字母字符时,所述第二标识符与所述第一字符相同。本发明让字符串起止符号更加灵活,而且字符串更加直观。
技术领域
本发明涉及查询语句的字符串处理技术领域,尤其涉及一种查询语句的字符串处理方法及装置。
背景技术
数据库用于存储各种类型数据,包括数值型、时间型、字符串型等。在常见的关系型数据库中,SQL引用字符串时,都会单引号把相应的字符串包起来,单引号在SQL中为引用字符串的作用。例如:
insert into a(id,info)values(1,'abc');
Update a set info='dawef'where id=1;
如果想把单引号插入数据库时,例如我们要插入的字符串是a'b'c,如果直接用单引号包起来,就像:
insert into a(id,info)values(1,'a'b'c');
这时候SQL中的字符串'a'b'c',程序无法判断字符串的确切起始位置;这时候很多关系型数据库就会用转义字符转义。部分数据库转义符为【\】,如SQL字符串为:
insert into a(id,info)values(1,'a\'b\'c');
部分数据库转义符为【'】,如SQL字符串为:
insert into a(id,info)values(1,'a”b”c');
可以看到,无论转义符是【\】还是【'】,SQL字符串看起来都不那么直观易懂。因此对于目前主流关系型数据库中,字符串都是用【”】包起来。但是如果是字符串含有【'】字符时,就需要转义字符,并且让字符串处理麻烦,也不直观。
发明内容
有鉴于此,本发明提供一种查询语句的字符串处理方法及装置,以使得字符串起止符号更加灵活,而且字符串更加直观。
一方面,本发明提供一种查询语句的字符串处理方法,包括:在对SQL查询语句的字符串处理时,判断当前字符是否为英文字母q;
在当前字符是否为英文字母q时,继续判断下一字符是否为单引号字符;
在下一字符为单引号字符时,将所述单引号字符后面的第一个字符作为第一标识符;将所述第一标识符与第二标识符之间的字符作为提取的字符串,所述第二标识符位于第一标识符之后,所述第二标识符后面的第一个字符为单引号字符;其中,当所述第一字符为用于表征左侧括号的字符时,所述第二标识符为所述第一字符对应的右侧括号的字符;当所述第一字符为用于字母字符时,所述第二标识符与所述第一字符相同。
进一步地,当所述第一标识符为表征左侧小括号的字符,所述第二标识符为表征右侧小括号的字符时,
所述将所述第一标识符与第二标识符之间的字符作为提取的字符串的步骤包括:
依次获取所述左侧小括号的字符后面的字符作为待分析字符,
判断所述待分析字符是否为右侧小括号的字符;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州海量数据库技术有限公司,未经广州海量数据库技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110142308.X/2.html,转载请声明来源钻瓜专利网。





