- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库管理系统中的模糊查询技术 _计算机论文.doc
数据库管理系统中的模糊查询技术 _计算机论文
数据库管理系统中的模糊查询技术 _计算机论文
内容提要 主要介绍在数据库管理系统中实现模糊查询的方法与技巧,提供了能实现真正模糊查询的二个通用函数的源程序,特别是介绍了结构化查询语言SQL中鲜为人知的通配符的使用方法。
关键词 FoxPro 模糊查询 SELECT-SQL 通配符
在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为“涪陵师范高等专科学校”,查询者可能只知道其简称“涪陵师专”或“涪师专”,这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro 2.5b中,实现模糊查询的方法。
一、 简单的模糊查询方法
① 利用比较操作符“=”进行模糊查询。先把SET EXACT的设置置为OFF,这时,“=”用于两个字符表达式之间作比较,其规则是:“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,abc=abc,abc=ab,ab_=ab,ab=的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。
② 利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多。这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边的字符表达式的每一个字符在“$”右边的字符表达式中存在且位置不间断,查找就能成功,然而对于诸如前面提到的“涪陵师专”或“涪师专”之类的简称,其查找结果为逻辑假(.F.)。
由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。
二、查询条件为缩略语或简称的模糊查询方法
缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,因此,通过设置不同长度的字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可编写一通用的自定义函数,将用户输入的查询条件(字符串2gt)与字符型字段变量(字符串1gt)进行逐字比较,如果字符串2gt是字符串1gt的缩略语或简称,则返回逻辑真(.T.)否则返回逻辑假(.F.),从而实现模糊查询。
下面将作者所编写的自定义函数介绍给读者,以供参考。
设计思想:此函数必须是一个通用函数。为此,执行时可先接受二个参数──字符串1gt和字符串2gt。从字符串2gt的左边开始取其第一、二个字符X1,用AT( )函数测试X1在字符串1gt中的位置S1,如果S1不为0,就将字符串1gt中包含X1以及左边部分的字符截掉,并取字符串2gt中的第三、四个字符X2,用AT( )函数测试X2在字符串1gt的剩余部分中的位置S2,若S2不为0,就将字符串1gt的剩余部分中包含X2以及左边部分的字符截掉……,直到将字符串2gt中的字符取完并在字符串1gt中测试完为止,最后本函数返回逻辑真(.T.)。在这个过程中只要有一次测试不成功(即Sn=0),则退出本函数并返回逻辑假(.F.)。因为一个汉字占二个ASCII字符,所以每次取二个相邻字符进行测试(让ZFBJ.PRG中的K=2)。这样做,一是可以减少测试比较的次数,提高程序运行速度。二是当字符串2gt中含有数字、字母等半角字符时,可以减少满足条件的记录数目,提高查询的命中率。然而,若查询条件中含有英文缩写,则每次只能取一个ASCII字符进行测试(让ZFBJ.PRG中的K=1)。
本函数的源程序如下:* 程序名称:ZFBJ.PRG
* 程序功能:比较字符串2gt是否为字符串1gt的缩略语
* 调用格式:ZFBJ(字符串1gt,字符串2gt)
* 通常字符串1gt是一个字符型字段变量
* 返 回 值:逻辑值 .T. 或 .F.
* 使用环境:FoxPro 2.5bPARAMETERS m.FIELD, m.INMC
PRIVATE ALL
IF (PARAMETERS( ) 2)
OR EMPTY(ALLTRIM(m.FIELD))
OR EMPTY(ALLTRIM(m.INMC))
RETURN .F.
ENDIF
IF SET(TALK) = ON
SET TALK OFF
m.talkstat = ON ENDIF
pstat = SET(COMPATIBLE)
SET COMPATIBLE FOXPLUS
J = LEN(ALLTRIM(m.INMC))
K=2
FOR I = 1 TO J STEP K
m.MC = SUBSTR(ALLTRIM(m.INMC),I,K)
MCWZ = AT(m.MC,ALLTRIM(m.FIELD
您可能关注的文档
- 护岸设计原则和类型综述_工程建筑论文.doc
- 报警中心方案_电子机械论文.doc
- 抹灰施工专项方案_工程建筑论文.doc
- 抽油机性能及使用现状浅析_工程建筑论文.doc
- 拉伸弯曲矫直机原理、结构及应用_电子机械论文.doc
- 拓扑自适应的移动自组网P2P中间件系统_计算机网络论文.doc
- 招投标工作网络化探析_工程建筑论文.doc
- 招投标行为管理与政府质量监督 _工程建筑论文.doc
- 挂蓝法变截面箱梁施工在码头引桥中的应用 _工程建筑论文.doc
- 挤扩支盘灌注桩的研究与工程应用_工程建筑论文.doc
- 小鹏汽车2025年智能汽车产业链上下游协同效应分析报告.docx
- 2025年农业科技成果转化推广模式创新案例分析报告.docx
- 建筑工程施工方案解析(3篇).docx
- 2025年亚马逊跨境电商运营策略与品牌形象塑造报告.docx
- 2025年企业可持续发展目标(SDGs)与绿色建筑认证标准解读报告.docx
- 2025年医药冷链物流风险预警与智能化温度监控系统研究报告.docx
- 2025年智能交通信号优化系统在城市交通信号灯智能调度中的应用报告.docx
- 零售业会员制度创新与顾客忠诚度提升:2025年行业发展趋势预测报告.docx
- 托育服务行业2025年技术革新与应用前景白皮书.docx
- 中国宠物行业宠物用品出口市场研究报告.docx
最近下载
- 成都电子科技大学实验中学新初一均衡分班语文试卷.doc VIP
- 成都电子科技大学实验中学新初一分班数学试卷含答案.doc
- 固体废物热值测定实验.doc VIP
- 14J936变形缝建筑构造.pptx VIP
- ZrO2-III 液晶显示氧化锆氧量分析仪说明书.pdf VIP
- 轻松学中医系列——《药性赋》选讲-曾培杰.docx
- Schneider Electric施耐德EvoPacT™ HVX 12kV真空断路器 全新一代数字化中压配电产品 操作手册安装和用户指南(中文).pdf
- 数控车削加工技术课程思政教学改革实践案例.docx VIP
- KORG科音Pa700快速说明书.pdf
- 2025年6月浙江省杭州市高一地理学考模拟试卷 1 .pdf VIP
文档评论(0)