【问题标题】:Search matching keywords in sql在sql中搜索匹配的关键字
【发布时间】:2015-05-05 19:21:27
【问题描述】:

如何从 SQL 2008 数据库中获取匹配的关键字?

我的数据类型是 nvarchar 和 text。如果我从下面的文本中搜索 "blind",它应该返回 "BLINDING"

文字示例:

"you will learn how to recognize clinical conditions that can be LETHAL and those that can be BLINDING."

有人可以帮忙吗?

【问题讨论】:

  • 请尝试澄清您的问题,您根本不清楚您要达到什么目标以及问题出在哪里。
  • 您是在问如何进行字符串百分比匹配或模糊查找?
  • 我在 sql server 表中有一个名为 description 的列,其中包含例如“您将学习如何识别可能是致命的和可能是致盲的临床情况”的文本。现在我想根据我的输入在该文本中找到匹配的关键字。所以,如果我尝试搜索“盲”,它应该返回“盲”作为输出。
  • 删除“mysql”标签,除非它与 MySQL 有某种关联。

标签: mysql sql-server sql-server-2008


【解决方案1】:

根据您的问题和不太有用的评论。我认为您要做的是在仅放置部分值并尝试匹配这些部分值时在表中搜索值,这也称为模糊查找。

使用 SQL,您可以编写这样的查询来获得结果:

SELECT * FROM table WHERE Value like 'BLIND%';

来自如下设置的表格:

Name    Date    Value
A   1/1/2015    BLINDING
A   1/1/2015    BLINDER
A   1/1/2015    BLENDER
A   1/1/2015    LETHAL
A   1/1/2015    BINDER

你会回来的:

A   1/1/2015    BLINDING
A   1/1/2015    BLINDER

【讨论】:

  • BLINDING 不是我专栏中的单一值,它是下面文本的一部分“您将学习如何识别可能致命的临床状况和可能致盲的临床状况。”
  • 如果这是你的价值,你想返回什么?
  • 我不认为你可以实现你想要的,如果它是一个字符串而不返回列中的整个值,你可以做的是返回一个 0 或 1 的标志,无论是否值是否存在于字符串中,然后解析字符串...让我尝试执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多