我花了几个小时研究这个并且很困惑,可能是由于我经常使用 RegEx 表达式。
我希望在 Microsoft SQL 2008 的 VARCHAR 或 TEXT 类型列中匹配整个单词。
我安装了 CLR 程序集RegEx 函数。
在这些示例案例中,我需要它来匹配枪:
- 装枪
- 上膛的枪
- 我的枪上膛
而不是在这些情况下:
- 枪很棒
- 我有我的枪
- 我的枪很棒
我宁愿不走全文搜索路线。
以下是我尝试过但失败的一些事情:
WHERE PATINDEX( '%[^a-zA-Z_]' + @keyword + '[^a-zA-Z_]%', name) > 0
...不考虑字符串开头的单词
WHERE name LIKE '%\b' + @keyword + '\b%'
...不返回任何东西
WHERE name LIKE '%[^A-Za-z]' + @keyword + '[^A-Za-z]%'
...不考虑字符串开头的单词
...以及我没有保存的其他一些人
我似乎无法依靠诸如http://gskinner.com/RegExr/之类的正则表达式测试器来帮助我完成此任务。任何帮助表示赞赏。