检查表值是否包含在字符串中的SQL语句我发送给它

时间:2019-01-25 09:51:37

标签: sql github heroku

我了解LIKE运算符,但是对于我想做的事情,我需要将列交换为无效的值。

我在与表连接到数据库的discord bot中使用了此功能。该表有两列,关键字和响应。我需要一个查询,当给定的字符串包含关键字时,它可以给我响应。

SELECT response FROM Reply WHERE (insert something here to see if provided string 
contains table value)

2 个答案:

答案 0 :(得分:1)

使用SQL标记表示您的问题与标准SQL有关(将鼠标悬停在标记上并读取它)。

不能将LIKE用于您的目的,因为该标准对您可以指定的内容非常明确:

<character like predicate> ::=
<row value predicand> <character like predicate part 2>
<character like predicate part 2> ::=
[ NOT ] LIKE <character pattern> [ ESCAPE <escape character> ]

因此,您无法WHERE 'myliteral' LIKE colname

因此,您需要一个标量函数,但是我不知道标准中定义的可用于此目的的任何标量函数。

因此,您只能使用特定DBMS提供的标量函数。例如。在DB2中,有POSSTR(source_string,search_string)可以用作POSSTR('myliteral',colname)。

答案 1 :(得分:0)

.example-tree-invisible {
  display: none;
}

.example-tree ul,
.example-tree li {
  margin-top: 0;
  margin-bottom: 0;
  list-style-type: none;
}

.example-tree li {
  margin-left: 25px;
}

.fa {
margin:5px;
}

.fa-trash{
color: red;
}

.mat-tree-node {
  display: flex;
  align-items: center;
  min-height: 0px;
  flex: 1;
  overflow: hidden;
  word-wrap: break-word;
}

.paragraphMargingLeft{
  margin-left: 46px;
}

以这种方式使用的PS CONCAT可在SQLSERVER上检查您所使用的dbms的对应关系,并且top1在找到第一个关键字后也会停止查询