SQL select like - 只包含1个单词

时间:2016-09-13 16:25:09

标签: sql select

SQL表有一个名称为

的字段
 image_colors

此字段的值可以是一行不同的颜色 - 例如:

green red blue white

当我搜索特定颜色时,我使用:

SELECT * 
FROM  `gallery_images` 
WHERE  `image_colors` LIKE  '%green%'

在这种情况下,值:

green red blue white

包含绿色并将被选中。

问题:

SQL是否可以仅查找只有1个Word的值:

green

4 个答案:

答案 0 :(得分:1)

是,使用简单的相等比较仅选择与ptl_postingtypename匹配的值:

green

注意:

    在您的情况下不需要
  • 反引号,在不需要时should be avoided
  • 您可能应该使用select * from gallery_images where image_colors = 'green' 字典表和colorsgallery_images之间的联结表来更改多对多数据模型,以规范化您的数据并加快查找速度

答案 1 :(得分:0)

尝试使用

touchend

答案 2 :(得分:0)

您现有的查询也适用于单个字。无需对搜索字段中的单个字值进行任何更改。

但是这个查询当然会降低应用程序的性能。

最好不要在单列中存储多个值,而是最好创建另一个表,以Integer值的形式将颜色存储为多行。

答案 3 :(得分:0)

如果您想要只有“绿色”颜色的记录,请不要使用Like运算符。

select *
from gallery_images
where image_colors = 'green'
相关问题