问题描述
SELECT Value FROM visibility WHERE site_info LIKE '%site_is_down%';
OR
SELECT Value FROM visibility WHERE site_info = 'site_is_down';
由于我同时运行了这两种方法,因此得到相同的结果,但是我很有趣,哪个是正确的,因为Value
列是VARCHAR
数据类型,或者这两个SELECT
都不正确吗?
结果集先运行SELECT
Value
1. 0
结果集运行第二SELECT
Value
1. 0
解决方法
这两个语句做的不一样。
第一条语句对site_info
包含 字符串'site_is_down'
的行进行过滤。周围的'%'
是通配符。因此它将与类似'It looks like site_is_down right now'
的东西匹配。
具有相等条件的第二个查询对内容完全为 site_info
的{{1}}进行过滤。
第一个查询还会返回第二个查询的所有内容-但事实并非如此。
哪种说法“正确”取决于您的实际要求。
,如果这两个查询都对您有用,那么我将使用第二个查询,因为这是最简单的查询,并且运行速度更快。