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。有没有一种方法,不使用全文搜索,我可以只提取与搜索字符串完全拼写的字段?
感谢您的宝贵时间和帮助
没有单独的开箱即用解决方案可用于此。
我会推荐以下方式,
- 收集数据中所有可能的变化(对于邮政信箱)
- 编写一个查询(您正在使用的查询)来过滤首选数据
- 检查查询结果是否有意外数据(如 Polar ST)
- 然后更改查询以修改搜索条件以避免此数据(Polar ST)。 喜欢,如果'PO'是你预期的变化,我想那么第三个字符可能是
编号 (PO12),space (PO 12)。我希望它不应该是字母顺序的
(像 pos)。然后您可以使用它来获得更精细的搜索条件。
即使你可能对其他词也有疑问(比如'Box'),所以反复分析以获得最佳结果。
注意:请参考Sql服务器中的'Regular Expression'。对于这类搜索,您有很多选择。
如果对您有所帮助,我会很高兴。
我必须在数据库字段中查找单词列表,并且只获取具有准确措辞的字段。更准确地说,我需要在地址字段中查找 "P/O Box" 的所有变体。因此,如果该字段包含 "PO"、或 "BOX"、或 "P O" 或 "P/O" 等,则查询必须为 return。此列表包含在 table 中(有 14 个不同的拼写要查找)。我尝试使用 CHARINDEX,但地址 "POLAR ST." 也将是 return。有没有一种方法,不使用全文搜索,我可以只提取与搜索字符串完全拼写的字段?
感谢您的宝贵时间和帮助
没有单独的开箱即用解决方案可用于此。
我会推荐以下方式,
- 收集数据中所有可能的变化(对于邮政信箱)
- 编写一个查询(您正在使用的查询)来过滤首选数据
- 检查查询结果是否有意外数据(如 Polar ST)
- 然后更改查询以修改搜索条件以避免此数据(Polar ST)。 喜欢,如果'PO'是你预期的变化,我想那么第三个字符可能是 编号 (PO12),space (PO 12)。我希望它不应该是字母顺序的 (像 pos)。然后您可以使用它来获得更精细的搜索条件。
即使你可能对其他词也有疑问(比如'Box'),所以反复分析以获得最佳结果。
注意:请参考Sql服务器中的'Regular Expression'。对于这类搜索,您有很多选择。
如果对您有所帮助,我会很高兴。