我还是SQL的新手,请耐心等待我。
我在查询中有以下WHERE语句:
WHERE Scopes.Name = 'APAC' AND Sites.City LIKE '%o%'
它产生以下结果(如预期):click here to see the picture
虽然我删除了结尾的通配符,如下所示:
WHERE Scopes.Name = 'APAC' AND Sites.City LIKE '%o'
结果为空表。我无法理解的是,城市名称“ Repetto”显然以“ o”结尾,因此查询中的LIKE'%o'应该产生与LIKE'%o%'相同的结果。
我是否误解了通配符的使用?谁能向我解释背后的逻辑?
非常感谢。
使用通配符是正确的。这意味着在o
中的'Repetto'
后面有一个字符。
这可能是隐藏字符或空格。一种可能是将该列声明为char()
而不是varchar()
,因此该值将用空格填充。