1

我正在用照片构建一个数据库。通过使用布尔搜索,我得到了使用搜索(短语)的正确图像。

现在我遇到了这个问题:在许多描述中,人或主题的电子邮件地址都被标记了。像my.name@telenet.be 现在,当我想查找Telenet 公司的图像时,我会得到包含提供商电子邮件地址的所有记录。谁对我的搜索无关紧要。

这是我的搜索示例:

SELECT ID,auteur, title, datetaken, description,
keywords,thumbnail,URL,rel_date,showa,initialen,type
FROM archief
WHERE MATCH(description, keywords) AGAINST(' +telenet ' IN BOOLEAN
MODE) AND rechten <> '0' AND showa = '1' AND type >= '2' AND rel_date
<= '20120921' ORDER BY datetaken desc LIMIT 60'
in 'where clause'

我该怎么做才能过滤掉包含@符号的搜索短语?

4

1 回答 1

1

我认为您可以尝试 REGEXP 运算符,因为它看起来像:

SELECT *
FROM archief
WHERE
    description REGEXP '[^@]telenet' OR
    keywords REGEXP '[^@]telenet'

此查询应选择所有包含telenet字符串的记录,而不是前面@的 in descriptionorkeywords字段。

于 2012-09-21T16:19:20.663 回答