繁体   English   中英

ms-access数据库中带有正则表达式的SQL查询

[英]SQL query with regex in ms-access database

我正在使用C#.Net和ms-access数据库。

我有以下SQL查询:

  `Select ... Like "%<aaa>%"+prmPhrase+"%</aaa>%"` 

该查询正在包含XML数据的数据库字段内寻找短语。

该查询工作非常迅速,但是返回了许多错误的结果。 我不能只搜索确切的短语,因为我有一个单词边界标记列表:

  ' ', '-', '.', ':', ',', ';', '/'

例如:

  prmPhrase = run  
  "i run home" -ok  
  "i.run-home" - ok  
  "running" - false result - not ok  

通过代码提取确定的结果并仅返回确定的语句需要花费大量时间。

我想知道是否存在像正则表达式之类的东西,或者我可以做更好的查询以仅返回确定的结果而没有错误的结果。

也许这可以帮助:

在MySQL中搜索“全字匹配”

感谢前进!

您的任务可以通过诸如“%” + SetA +“ run” + SetB +“%”之类的东西来解决
setA-所有允许在短语之前使用的符号(例如[az] *,以防止标签结尾,因此%无效),setB-所有允许的定界符(例如[^ a-z0-9])。
恐怕您无法使用%,_,[]定义SetA,因此应简化您的任务。

这在SQL中没有多大帮助,但是Access可以使用文件系统对象的RegExp支持。 考虑到数据的存储方式,这不会造成太大的影响,因为您的LIKE匹配无论如何都不会很好地使用任何索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM