SQL-像通配符,不是预期的结果

问题描述 投票:0回答:1

我还是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%'相同的结果。

我是否误解了通配符的使用?谁能向我解释背后的逻辑?

非常感谢。

sql wildcard sql-like
1个回答
2
投票

使用通配符是正确的。这意味着在o中的'Repetto'后面有一个字符。

这可能是隐藏字符或空格。一种可能是将该列声明为char()而不是varchar(),因此该值将用空格填充。

© www.soinside.com 2019 - 2024. All rights reserved.