这可能是一件非常简单的事我无法忽视,但它让我疯狂.
基本要点是我在SQL Server 2014中有一个非常简单的表,叫做Products,它包含一些ProductNames列(nvarchar(max)).我输入了一些测试字符串,例如
Caly
Calyd
Cali
Cal
Taly
Blical
Blacaly
Run Code Online (Sandbox Code Playgroud)
我在这张桌子上执行一个非常简单的SELECT:
SELECT *
FROM Products
WHERE ProductName LIKE '%Cal%'
Run Code Online (Sandbox Code Playgroud)
这就是问题,我只是回过头来看看这些结果
Cali
Cal
Blical
Run Code Online (Sandbox Code Playgroud)
注意丢失的Caly和Blacaly.但如果我搜索'%Caly%',我会收回预期的结果:
Caly
Calyd
Blacaly
Run Code Online (Sandbox Code Playgroud)
或者,如果我按预期搜索"%Ca%",
Caly
Calyd
Cali
Cal
Blical
Blacaly
Run Code Online (Sandbox Code Playgroud)
所以真的,给了什么,我在这里完全失去了.'Cal'是某种奇怪的复活节彩蛋吗?侏儒吃我的结果,还是什么?
(顺便说一句,我在MySQL中尝试过同样的事情,就像测试一样,它在那里按预期工作.)