在 实践中
,
LIKE没有通配符功能上等同于
=。但是,它们不一样!最明显的区别是,
=不能治疗,
%以及
_以任何特殊的方式,但
LIKE确实。
该文档对此非常清楚:
根据SQL标准,
LIKE在每个字符的基础上执行匹配,因此它可以产生与=比较运算符不同的结果:
除了排序规则差异外,尾随空格也很重要:
特别是,尾随空格很重要,这不适用于 =运算符
CHAR或VARCHAR使用=运算符进行比较:
在实践中,被比较的字符串通常具有相同的排序规则,没有尾部空格,并且特殊字符被忽略,因此
LIKE有时被用作替代
=(特别是因为
LIKE在模式开头没有通配符的情况下,也可以使用索引)。



