sql-server - SQL Server 提取匹配子字符串的单词
问题描述
我需要一个查询,它从主字符串中提取与子字符串列表匹配的单词。例如,从字符串“我需要一个不包含密码短语的密码。请帮忙。”,我需要一个查询来提取匹配“单词”和“短语”的单词。因此,目标查询的结果将是:密码、密码短语
解决方案
使用支持 REGEX 的编程语言会更好。
如果你真的必须在 SQL 中这样做,你可以这样做:
使用 CHARINDEX 查找您要匹配的第一个关键字的第一次出现。
然后使用 CHARINDEX 查找关键字前后最接近的空白字符。
然后使用 SUBSTRING 获取这两个空白字符之间的字符。
循环到第一个关键字的下一次出现,直到到达字符串的末尾。
循环到您要匹配的下一个关键字并重复上述循环。
如果要在查询中内联执行此操作,则需要将上述内容封装在 UDF 中。
推荐阅读
- pandas - 如何交叉加入 2 系列以使其成为熊猫中的查找表?
- swiftui - 如何将 .italic() 应用于 .largeTitle 字体?
- c# - 具有层次结构的对象中的 JSON 反序列化问题
- android - 将策略应用于设备时,蓝牙扫描和显示设备不工作
- charts - 如何使用 Google 可视化在环形图外部显示低值?
- javascript - OnSubmit 调用调用 3 个函数并检查 return_type 的函数,但未调用 1 个函数
- python - 由于使用 PyTesseract 的背景颜色,无法从屏幕截图中读取文本
- html - 在 Angular 中使用 Renderer2 动态绑定指令
- angular - 使用 X-map-polyline 在 bing 地图折线上添加标记
- javascript - 在javascript中将Uint8Array转换为字符串