这两个 SELECT 说法中哪一个是正确的?

Which one of these two SELECT statment are correct?

我有点困惑,不知道这两个 SELECT 陈述中哪一个是正确的

SELECT Value FROM visibility WHERE site_info LIKE '%site_is_down%';

SELECT Value FROM visibility WHERE site_info = 'site_is_down';

因为我 运行 这两个我得到相同的结果,但我很感兴趣哪一个是正确的,因为 Value 列是 VARCHAR 数据类型或这两个 SELECT 不正确吗?

结果集运行宁先SELECT

       Value
   1.   0

结果集运行宁秒SELECT

    Value
1.   0

这两个语句做的不是同一件事。

第一个语句筛选 site_infos 包含 字符串 'site_is_down' 的行。周围的 '%' 是通配符。所以它会匹配 'It looks like site_is_down right now'.

第二个查询,使用相等条件,过滤 site_info 其内容 exactly 'site_is_dow'.

第一个查询也返回第二个查询的所有内容 - 但反之则不然。

哪种说法“正确”取决于您的实际需求。

如果这两个查询对您都有用,我会使用第二个查询,因为它最简单,而且运行速度更快。