sql - 这两个 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
解决方案
这两个语句不做同样的事情。
第一条语句过滤site_info
s包含string的行'site_is_down'
。周围'%'
是通配符。所以它会匹配类似的东西'It looks like site_is_down right now'
。
第二个查询,具有相等条件,过滤site_info
其内容为 'site_is_dow'
。
第二个查询的所有内容也由第一个查询返回 - 但反之则不然。
哪种说法“正确”取决于您的实际要求。
推荐阅读
- flutter - Flutter Provider:如何通过提供者获取我应该通过上下文传递的对象?
- microsoft-graph-api - 突然图形 API - 为我/followedSites 返回 500 错误
- sql - 不能在 SQL Server 中划分两个整数
- ruby-on-rails - 如何关联数据库中通过 Rails 中的多对多关系连接的两个条目?
- celery - PhpAmqpLib 获取 'PRECONDITION_FAILED - 消费者 ack 在通道 1 上超时', (0, 0),
- python - 返回文件夹中的所有文件,而不仅仅是最后一个文件
- java - 什么时候在spring mvc中使用依赖注入?
- css - CSS模块未导入以正确反应组件
- r - 我应该如何将人口普查 API 数据读入 R
- python - 如何导航 Nonetype 错误训练数据