【问题标题】:Which one of these two SELECT statment are correct?这两个 SELECT 语句中哪一个是正确的?
【发布时间】:2020-10-16 09:22:46
【问题描述】:

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

【问题讨论】:

    标签: sql string oracle where-clause sql-like


    【解决方案1】:

    这两个语句的作用不同。

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-20
        • 2021-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-13
        • 1970-01-01
        相关资源
        最近更新 更多