php - 想要使用多个术语时查询中 LIKE 子句的顺序

标签 php mysql select sql-like

我有问题

SELECT * FROM images WHERE tags LIKE '%example%hello%'

我希望数据库以任意顺序选择“标签”列中具有“示例”和“你好”的行,如:

包含“hello, test, example”、“example, hello, test”或此顺序的任何其他变体的行。 这可能吗,即使不使用 LIKE?这些行必须全部包含用 LIKE 指定的所有内容。

编辑:例如,当我在查询中提供“example”和“hello”时,返回的行必须同时包含“example”“hello”。

最佳答案

您可以尝试一个简单的 OR 来快速解决:

SELECT * FROM images WHERE tags LIKE '%example%' OR tags LIKE '%hello%'

编辑

要处理您的编辑,您可以使用 AND 代替:

SELECT * FROM images WHERE tags LIKE '%example%' AND tags LIKE '%hello%'

关于php - 想要使用多个术语时查询中 LIKE 子句的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7910362/

相关文章:

php - 如何锁定 xampp 以防止文件被复制

php - 无法正确安装XAMPP或无法启动apache和mysql

php - CSS 行高规则被忽略

php - 在多层成员数据库中确定 "Number of Users below"

oracle - 将单行结果集转换为关联数组

具有可选列过滤器的 MySQL 参数化 SELECT 查询

mysql - 复杂的选择查询

php - 如何创建不需要右键单击的 PDF 下载链接?

java - 在 Java JDBC 中将高分保存到数据库中

mysql - 如何获取 3 个表连接上特定列的计数?