T-SQL:从字段中的列表中搜索特定字符串

T-SQL: Search for specific string from a list in a field

我必须在数据库字段中查找单词列表,并且只获取具有准确措辞的字段。更准确地说,我需要在地址字段中查找 "P/O Box" 的所有变体。因此,如果该字段包含 "PO"、或 "BOX"、或 "P O" 或 "P/O" 等,则查询必须为 return。此列表包含在 table 中(有 14 个不同的拼写要查找)。我尝试使用 CHARINDEX,但地址 "POLAR ST." 也将是 return。有没有一种方法,不使用全文搜索,我可以只提取与搜索字符串完全拼写的字段?

感谢您的宝贵时间和帮助

没有单独的开箱即用解决方案可用于此。

我会推荐以下方式,

  1. 收集数据中所有可能的变化(对于邮政信箱)
  2. 编写一个查询(您正在使用的查询)来过滤首选数据
  3. 检查查询结果是否有意外数据(如 Polar ST)
  4. 然后更改查询以修改搜索条件以避免此数据(Polar ST)。 喜欢,如果'PO'是你预期的变化,我想那么第三个字符可能是 编号 (PO12),space (PO 12)。我希望它不应该是字母顺序的 (像 pos)。然后您可以使用它来获得更精细的搜索条件。

即使你可能对其他词也有疑问(比如'Box'),所以反复分析以获得最佳结果。

注意:请参考Sql服务器中的'Regular Expression'。对于这类搜索,您有很多选择。

如果对您有所帮助,我会很高兴。