首页 > 解决方案 > 这两个 SELECT 语句中哪一个是正确的?

问题描述

我有点困惑,不知道这两个 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

标签: sqlstringoraclewhere-clausesql-like

解决方案


这两个语句不做同样的事情。

第一条语句过滤site_infos包含string的行'site_is_down'。周围'%'是通配符。所以它会匹配类似的东西'It looks like site_is_down right now'

第二个查询,具有相等条件,过滤site_info其内容 'site_is_dow'

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

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


推荐阅读