SQL Server提取与子字符串匹配的单词

时间:2018-10-04 13:48:30

标签: sql-server

我需要一个查询,该查询将从主字符串中提取与子字符串列表匹配的单词。例如,从字符串“我需要一个不包含密码的密码。请帮助。”,我需要一个查询,该查询将提取匹配“ word”和“ phrase”的单词。因此,目标查询的结果将是: 密码,通行密码

2 个答案:

答案 0 :(得分:0)

最好使用支持REGEX的编程语言来完成。

如果您真的必须在SQL中执行此操作,则可以这样做:

使用CHARINDEX查找要匹配的第一个关键字的第一个匹配项。

然后使用CHARINDEX查找关键字之前和之后最接近的空格字符。

然后使用SUBSTRING获取这两个空白字符之间的字符。

循环查找第一个关键字的下一个出现,直到到达字符串的结尾。

转到您要匹配的下一个关键字,然后重复上述循环。

如果要在查询中内联进行此操作,则需要将以上内容封装在UDF中。

答案 1 :(得分:0)

这将使用空格作为拆分值将句子拆分为单词,并使用空格将短语拆分为单词。使用pathindex找到匹配的字符串。结果行连接在一起成为一个字符串。

    <script src="https://code.jquery.com/jquery-3.1.0.js"></script><div id="container">
      <div class="back"></div>

      <div id="item">
        <span id="point1"></span>
        <span id="point2"></span>
      </div>

结果将是“密码,密码短语”。