【问题标题】:Search exact text in a string在字符串中搜索确切的文本
【发布时间】:2020-02-11 19:37:43
【问题描述】:

我正在查询一个 SQL Server 数据库。我有一个字段“备注”,其中包含用管道分隔的值 59P|W26|W511|862|W51

我正在尝试在此字段中搜索完全匹配,例如在上面我只想返回 W51 而不是 W511。我认为包含会有所帮助,但不幸的是,该表没有全文索引,我没有能力改变它。有什么建议吗?

【问题讨论】:

  • 字符串可以出现在任意列吗?在您的示例中,它出现在最后一列中。
  • @thebiggestlebowski 这都是一列/字段。字符串可以在字段的任何部分。我应该澄清一下,谢谢你的提问。
  • 我认为你需要运行下游逻辑来过滤掉你不想要的结果。该逻辑可以是数据库本身的存储过程,也可以是查询数据库的应用程序。我不知道如何仅使用 SQL 来执行此操作。如果在分隔符之间找到子字符串,那么你很好 (|W51|)。然而,这还不够。

标签: string sql-like exact-match


【解决方案1】:

看起来你可以使用 sql server 来做到这一点,因为它有一个有用的内置函数。查看https://www.sqlservertutorial.net/sql-server-string-functions/sql-server-string_split-function/

【讨论】:

  • 您可以根据需要搜索堆栈溢出或互联网如何使用它。您应该能够使用溢出创建一个临时结果集,然后从原始表中选择匹配的行。
  • 谢谢!这实际上帮助我解决了我遇到的另一个问题。
  • 很高兴为您提供帮助 ;)
猜你喜欢
  • 2022-01-23
  • 1970-01-01
  • 2023-03-13
  • 2017-10-15
  • 2020-02-01
  • 2020-02-27
  • 1970-01-01
  • 2018-06-10
  • 1970-01-01
相关资源
最近更新 更多