gpt4 book ai didi

sql - MS-SQL 2008 全词匹配

转载 作者:行者123 更新时间:2023-12-04 04:54:19 25 4
gpt4 key购买 nike

我花了几个小时研究这个,我很困惑,可能是因为我经常使用 RegEx 表达式。

我希望在 Microsoft SQL 2008 的 VARCHAR 或 TEXT 类型列中匹配整个单词。

我有一个 CLR 组件 RegEx Function installed .

在这些示例案例中,我需要它来匹配枪:

  • 已加载
  • 已加载
  • 我的 已加载

  • 而不是在这些情况下:
  • 枪很棒
  • 我有我的枪
  • 我的枪很棒

  • 我宁愿不走全文搜索路线。

    以下是我尝试过但失败的一些事情:
    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/让我度过难关。任何帮助表示赞赏。

    最佳答案

    关键是修改name进行比较。只需在开头和结尾添加一个空格,然后您就会得到所有单词。例如:

    WHERE ' '+name+' ' LIKE '%[^A-Za-z]' + @keyword + '[^A-Za-z]%'

    应该做得很好。

    关于sql - MS-SQL 2008 全词匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993554/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com