C# ms-access数据库中带正则表达式的SQL查询
我正在使用C#Net和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之类的
`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