Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ms-access数据库中带正则表达式的SQL查询_C#_Sql_Database_Regex_Ms Access - Fatal编程技术网

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

C# ms-access数据库中带正则表达式的SQL查询,c#,sql,database,regex,ms-access,C#,Sql,Database,Regex,Ms Access,我正在使用C#Net和ms access数据库 我有以下SQL查询: `Select ... Like "%<aaa>%"+prmPhrase+"%</aaa>%"` 例如: prmPhrase = run "i run home" -ok "i.run-home" - ok "running" - false result - not ok 我花了很多时间通过代码提取ok结果,并且只返回ok语句 我想知道是否有像regex之类的

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

我有以下SQL查询:

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

  prmPhrase = run  
  "i run home" -ok  
  "i.run-home" - ok  
  "running" - false result - not ok  
我花了很多时间通过代码提取ok结果,并且只返回ok语句

我想知道是否有像regex之类的东西,我可以做一个更好的查询,只返回ok结果而不返回false结果

也许这会有帮助:


谢谢你的进步

您的任务可以用“%”+SetA+“run”+SetB+“%”之类的方法解决
其中setA-短语前面允许的所有符号(例如[a-z]*,以防止标记结束,因此%不起作用),setB-所有允许的分隔符(例如[a-z0-9])。
恐怕你不能用%来定义SetA
所以你应该简化你的任务。

请阅读下面的链接:


这在SQL中帮助不大,但Access可以使用文件系统对象的RegExp支持。考虑到数据的存储方式,这可能不会太慢,因为您的同类匹配不会很好地使用任何索引。

谢谢!。不是所有的短语都是英语。。。我可能不得不从两边使用允许的分隔符。我希望它能工作。Access/Jet/ACE SQL不支持RegExp。您是否建议将数据升级到SQL Server?或者通过SQL server中的链接服务器使用Jet/ACE文件?或者您只是没有注意到问题不是关于SQL Server的?
  prmPhrase = run  
  "i run home" -ok  
  "i.run-home" - ok  
  "running" - false result - not ok