我看到代码为:
select * from sys.SYSCOLUMNS where tname like 'table_name';
,结果与
完全相同 select * from sys.SYSCOLUMNS where tname = 'table_name';
为什么他们写作"喜欢" " ="
的实例我知道我们可以像使用%一样检查模式:
select * from table_name where column_name like 'temp%';
但是当我没有模式匹配时,我没有看到这样做的感觉。
有谁能解释他们为什么这样做?
答案 0 :(得分:1)
正如@ HoneyBadger指出的那样,在这种情况下(静态字符串),'like'和'='在功能上是相同的。
如果编码员很少使用'=',则可能是某种个人偏好。
如果编码器使用'like'和'='的混合,或者通常使用'=',它可能就像编码器最初使用通配符测试和/或测试NULL一样简单(在ANSINULL下) = true),决定因任何原因切换到静态字符串,并简单地将'like'改为'='。类似的解释如果他们从其他地方剪切了一个代码片段,用一个静态字符串替换了一个通配符字符串,并且将'like'改为'='。