0

在执行 SQL 查询时,我想从名称中包含 AND 的表中提取条目,但我不希望名称中只有和......

令人困惑,但我会展示一个例子

表中有 2 个条目:

  • 潘多尼亚姆
  • 弗兰克和豆子。

当我进行查询时,我只想让 Frank 和 Beans 出现,而​​不是 Pandomniam。我正在做类似的事情

SELECT NAME FROM TABLE WHERE NAME LIKE '%and%'

这会给我带来结果,但我有不需要的结果。

我的第一个直觉是尝试看看我是否可以在结果中只得到 Pandomniam,这样我就可以做一个 AND NOT LIKE 来过滤掉它们,但我似乎无法想出一个。

4

4 回答 4

4
SELECT NAME FROM TABLE
WHERE
NAME LIKE '% and %' OR 
NAME LIKE 'and %' OR 
NAME LIKE '% and'
于 2009-09-24T23:55:34.970 回答
3
SELECT NAME FROM TABLE WHERE NAME LIKE '% and %'
于 2009-09-24T23:53:04.080 回答
2

添加几个空格怎么样:

SELECT NAME FROM TABLE WHERE NAME LIKE '% and %'
于 2009-09-24T23:53:06.123 回答
1

您没有说您使用的是什么品牌的 RDBMS。RLIKEMySQL 支持带有“单词边界”的元字符序列的正则表达式谓词:

SELECT NAME FROM TABLE WHERE NAME RLIKE '[[:<:]]and[[:>:]]'

如果您使用的是 MySQL 以外的其他品牌的数据库,也许您可​​以研究它的正则表达式功能。

于 2009-09-25T00:40:51.300 回答