【发布时间】:2018-05-10 09:15:33
【问题描述】:
我正在通过W3School 学习SQL 基础知识,在了解wildcards 基础知识的过程中,我经历了以下查询:
--Finds any values that start with "a" and are at least 3 characters in length
WHERE CustomerName LIKE 'a_%_%'
根据以下示例,查询将搜索 CustomerName 列以“a”开头且长度至少为 3 个字符的表。
但是,我也尝试以下查询:
WHERE CustomerName LIKE 'a__%'
上面的查询也给了我完全相同的结果。 我想知道这两个查询是否有任何区别?第二个查询是否在某些特定场景中产生不同的输出?如果是,那将是什么情况?
【问题讨论】:
-
我觉得两者都一样
-
@YogeshSharma 但我们已将 % 放在最后,这意味着它会在最后打印任何字符。我也执行了两个查询,都显示相同的输出。
-
其实看起来是个错误。
-
代码的作者可能觉得双下划线很容易被误读为单下划线。第一个模式以一种奇怪的方式绝对清楚地表明存在两个下划线。这些模式在功能上是等效的。
标签: sql sql-server tsql sql-server-2012