- 6
- 0
- 约4.37千字
- 约 13页
- 2017-04-11 发布于河北
- 举报
计算机数据库例文:数据库管理系统中的模糊查询技术
计算机数据库例文:数据库管理系统中的模糊查询技术
缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,这里是一篇数据库管理系统中的模糊查询技术,接下来让我们一起来看看吧~
内容提要 主要介绍在数据库管理系统中实现模糊查询的方法与技巧,提供了能实现真正模糊查询的二个通用函数的源程序,特别是介绍了结构化查询语言SQL中鲜为人知的通配符的使用方法。
关键词 FoxPro 模糊查询 SELECT-SQL 通配符
在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为“涪陵师范高等专科学校”,查询者可能只知道其简称“涪陵师专”或“涪师专”,这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro 2.5b中,实现模糊查询的方法。
一、 简单的模糊查询方法
① 利用比较操作符“=”进行模糊查询。先把SET EXACT的设置置为OFF,这时,“=”用于两个字符表达式之间作比较,其规则是:“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,quot;abcquot;=quot;abcquot;,quot;abcquot;=quot;abquot;,quot;ab_quot;=quot;abquot;,quot;abquot;=quot;quot;的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。
② 利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多。这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边的字符表达式的每一个字符在“$”右边的字符表达式中存在且位置不间断,查找就能成功,然而对于诸如前面提到的“涪陵师专”或“涪师专”之类的简称,其查找结果为逻辑假(.F.)。
由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。
二、查询条件为缩略语或简称的模糊查询方法
缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,因此,通过设置不同长度的字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可编写一通用的自定义函数,将用户输入的查询条件(lt;字符串2gt;)与字符型字段变量(lt;字符串1gt;)进行逐字比较,如果lt;字符串2gt;是lt;字符串1gt;的缩略语或简称,则返回逻辑真(.T.)否则返回逻辑假(.F.),从而实现模糊查询。
下面将作者所编写的自定义函数介绍给读者,以供参考。
设计思想:此函数必须是一个通用函数。为此,执行时可先接受二个参数──lt;字符串1gt;和lt;字符串2gt;。从lt;字符串2gt;的左边开始取其第一、二个字符X1,用AT( )函数测试X1在lt;字符串1gt;中的位置S1,如果S1不为0,就将lt;字符串1gt;中包含X1以及左边部分的字符截掉,并取lt;字符串2gt;中的第三、四个字符X2,用AT( )函数测试X2在lt;字符串1gt;的剩余部分中的位置S2,若S2不为0,就将lt;字符串1gt;的剩余部分中包含X2以及左边部分的字符截掉hellip;hellip;,直到将lt;字符串2gt;中的字符取完并在lt;字符串1gt;中测试完为止,最后本函数返回逻辑真(.T.)。在这个过程中只要有一次测试不成功(即Sn=0),则退出本函数并返回逻辑假(.F.)。因为一个汉字占二个ASCII字符,所以每次取二个相邻字符进行测试(让ZFBJ.PRG中的K=2)。这样做,一是可以减少测试比较的次数,提高程序运行速度。二是当lt;字符串2gt;中含有数字、字母等半角字符时,可以减少满足条件的记录数目,提高查询的命中率。然而,若查询条件中含有英文缩写,则每次只能取一个ASCII字符进行测试(让ZFBJ.PRG中的K=1)。
本函数的源程序如下:
* 程序名称:ZFBJ.PRG
* 程序功能:比较lt;字符串2gt;是否为lt;字符串1gt;的缩略语
* 调用格式:ZFBJ(lt;字符串1gt;,lt;字符串2gt;)
* 通常lt;字符串1gt;是一个字符型字段变量
* 返 回 值:逻辑值 .T. 或 .F.
* 使用环境:FoxPro 2.5b
PARAMETERS m.FIELD
您可能关注的文档
最近下载
- 给水排水1 (2017)_17ZS01_卫生工程.docx VIP
- 《GB/T 46748-2025宇航用元器件应用验证综合评价方法》.pdf
- 《船舶轴带发电机原理与维护》课件.ppt VIP
- 人教版高一上学期数学(必修一)期末考试卷(附答案).pdf VIP
- 部编版《道德与法治》 四年级下册教案教学设计、教学计划、教学进度安排、教学反思 检测试卷(含答案).doc VIP
- 离婚协议书范本(标准版).docx VIP
- 年产10000吨味精项目工厂设计要点.pdf VIP
- 锂离子电池隔膜培训.pptx VIP
- 大学物理光学复习试卷及答案.docx VIP
- 湖北省武汉市江岸区三年级(上)期末语文试卷.doc VIP
原创力文档

文档评论(0)