这两个 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_info
s 包含 字符串 'site_is_down'
的行。周围的 '%'
是通配符。所以它会匹配 'It looks like site_is_down right now'
.
第二个查询,使用相等条件,过滤 site_info
其内容 exactly 'site_is_dow'
.
第一个查询也返回第二个查询的所有内容 - 但反之则不然。
哪种说法“正确”取决于您的实际需求。
如果这两个查询对您都有用,我会使用第二个查询,因为它最简单,而且运行速度更快。
我有点困惑,不知道这两个 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_info
s 包含 字符串 'site_is_down'
的行。周围的 '%'
是通配符。所以它会匹配 'It looks like site_is_down right now'
.
第二个查询,使用相等条件,过滤 site_info
其内容 exactly 'site_is_dow'
.
第一个查询也返回第二个查询的所有内容 - 但反之则不然。
哪种说法“正确”取决于您的实际需求。
如果这两个查询对您都有用,我会使用第二个查询,因为它最简单,而且运行速度更快。