数据库日期查询方法及装置、数据库制造方法及图纸

技术编号:3873521 阅读:258 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及数据库,公开了数据库日期查询方法及装置、数据库,其中所述方法包括:接收用户的查询请求后,向用户展示输入界面;接收用户通过所述输入界面输入的查询条件;将所述查询条件转换成符合数据库存储格式的时间区间;从数据库中查找处于所述时间区间的数据库记录。使用本发明专利技术,可以减少查询时间,提高查询效率。

【技术实现步骤摘要】

本专利技术涉及数据库,具体涉及数据库日期查询方法及装置、数据库
技术介绍
由于数据库的功能强大,并且也容易使用,得到了越来越多的应用,常用的数据 库有SqlServer、DB2、 Oracle等。-一般的数据库中都有日期(MTE)、时间(T頂E)、时间戳 (TIMESTAMP)等与日期有关的类型字段,在这些类型字段中数据库保存的日期格式都是到 了毫秒。 对于DATE类型字段,数据库保存的格式只保存到天yyyy-腦-dd,后面的小时,分 钟,秒,毫秒,都是用0代替,例如2008年8月8日,在数据库保存格式类似2008-08-08 00:00:00. 000 ;对于TIME类型字段,数据库保存的格式保存到小时,分钟,秒,毫秒;对于 TIMESTAMP类型字段,数据库既保存日期,又保存时间。例如2008年8月8日8时8分8 秒,在数据库保存格式类似2008-08-08 08:08:08. ()O(),如果还有毫秒,则也保存毫秒数,毫 秒的取值范围是0-999,如果没有毫秒,就用000代替。 但是在实际业务的应用中,在进行日期查询时精确查询到毫秒,绝大部分是直接 査询日期或时间戳;例如在查询日期时,用户输入的是日期查询条件,如2008-08-08等,在 查询时间戳时,用户输入的是时间戳查询条件,如2008-08-08 08:08:08等。此时,为了能 够从数据库中査找到符合用户输入的査询条件的数据库记录, -种常用的方法是这样的 将数据库记录的日期(格式为2008-08-08 08:08:08. 000)转换为字符串,然后再 从字符串中截取一部分与用户输入的查询条件进行匹配。 例如用户需要查找等于2()()8-08-08的数据库记录,将数据库记录的日期转换为 字符串后,截取字符串的前面10位,例如一条数据库记录为2008-08-0808:08:08. 000, 则转换成字符串后截取的前面10位为2008-08-08,再将这10位与用户输入的查询条件 2008-08-08进行匹配;在用户输入的查询条件为时间戳时,处理方式类似,不再赘述。 在对现有技术的研究中,专利技术人发现使用现有的上述方法虽然能够对用户输入的 查询条件进行查询,但是由于不能使用数据库的索引,需要对数据库进行全表扫描,并且对 每条记录都进行转换和截取,导致查询时间长,査询效率低。
技术实现思路
本专利技术实施例提供了数据库日期査询方法及装置、数据库,可以减少查询时间,提 高查询效率。本专利技术实施例提供了一种数据库日期査询方法,包括 接收用户的查询请求后,向用户展示输入界面; 接收用户通过所述输入界面输入的查询条件; 将所述查询条件转换成符合数据库存储格式的时间区间; 从数据库中査找处于所述时间区间的数据库记录。4 本专利技术实施例还提供了一种数据库日期查询装置,包括接收单元、展示单元、转换 单元和查询单元; 所述接收单元,用于接收用户的查询请求;接收用户通过所述展示单元展示的输 入界面输入的查询条件; 展示单元,用于在所述接收单元接收了查询请求后,向用户展示输入界面; 转换单元,用于将所述接收单元接收的查询条件转换成符合数据库存储格式的时间区间; 查找单元,用于从数据库中查找处于所述转换单元得到的时间区间的数据库记 录。 本专利技术实施例还提供了 一种数据库,包括本专利技术实施例提供的数据库日期查询装 置。 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。 附图说明图1为本专利技术实施例中数据库日期査询方法实施例的流程图; 图2为本专利技术实施例中数据库日期查询装置实施例的结构图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 先介绍本专利技术实施例提供的数据库日期查询方法,图1描述了数据库日期查询方 法实施例的流程,该实施例描述的是数据库日期查询装置的处理流程,包括 1()1、接收用户的查询请求后,向用户展示输入界面; 用户在浏览数据库时,由于数据库的记录可能很多,因此用户可以从中查询自己想要的数据库记录;数据库都会提供查询入口 ,可能是按钮,也可能是菜单命令等;用户在点击了按钮或菜单命令后会发送一个查询请求,数据库日期查询装置接收了该查询请求后,可以向用户展示输入界面,用户可以通过该输入界面输入查询条件。 102、接收用户通过输入界面输入的査询条件; 103、将査询条件转换成符合数据库存储格式的时间区间; 用户输入的査询条件可能并不符合数据库存储格式,例如日期的数据库存储格式5一般为"YYYY-丽-DD HH:腿SS. NNN",其中YYYY代表年,丽代表月,DD代表日,朋代表时, 丽代表分,SS代表秒,NNN代表毫秒,即数据库存储格式精确到了毫秒;而用户输入的查询 条件中的查询参数可能精确到年、或精确到月、或精确到日、或精确到时、或精确到分、或精 确到秒,如果直接使用查询参数进行查询则不能与数据库存储格式进行匹配,因此可以将 查询条件转换成符合数据库存储格式的时间区间。 104、从数据库中査询处于时间区间的数据库记录。 由于时间区间符合数据库存储格式,因此从数据库中查询数据库记录时可以直接 用数据库的索引进行查询。 从上可知,本实施例可以将用户输入的查询条件转换成符合数据库存储格式的时 间区间,进而可以数据库中查询处于时间区间的数据库记录,由于时间区间符合数据库存 储格式,因此可以使用数据库的索引进行查询,从而提高查询速度,可以减少査询时间,提 高查询效率。 如下以用户输入的不同的査询条件对本专利技术实施例提供的数据库日期查询方法 进行描述。(1)接收的查询条件为等于查询参数。 查询参数可以精确到年、或精确到月、或精确到日、或精确到时、或精确到分、或精 确到秒,例如,接收的查询条件为"等于2008年"、或"等于2008年08月"、或"等于2008年 08月08日"、或"等于2008年08月08日08时"、或"等于2008年08月08日08时08分"、 或"等于2008年08月08日08时08分08秒"。 这种情况下将查询条件转换成符合数据库存储格式的时间区间的步骤可以包括将査询参数转换成大于等于查询参数的开始时间且小于查询参数的最小时间单位加1的 开始时间的时间区间,其中查询参数的开始时间和査询参数的最小时间单位加1的开始时 间符合数据库存储格式。本专利技术实施例中最小时间单位是年、或月、或日、或时、或分、或秒 等,具体根据查询参数确定。其中,查询参数的开始时间根据查询参数的最小时间单位确 定,例如査询参数的最小时间单位是年,则查询参数的开始时间是该年的01月01日00时 00分00秒;例如查询参数的最小时间单位是月,则查询参数的开始时间是该月的01日00 时00分00秒;例如查询参数的最小时间单位是日,则查询参数的开始时间是本文档来自技高网
...

【技术保护点】
一种数据库日期查询方法,其特征在于,包括:接收用户的查询请求后,向用户展示输入界面;接收用户通过所述输入界面输入的查询条件;将所述查询条件转换成符合数据库存储格式的时间区间;从数据库中查找处于所述时间区间的数据库记录。

【技术特征摘要】

【专利技术属性】
技术研发人员:覃君武
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1