我有一个查询,它提取我们数据库中所有姓氏的计数,并按姓氏长度对计数进行排序。这是一个最大长度为 120 的 VARCHAR 字段。
一些字符长度短得多的结果 - 5、6、7 等字符 - 显示为 120。使用 RTRIM 似乎得到了正确的结果,但我很困惑为什么当我没有 RTRIM 时为什么大多数值计算正确,但有些不正确。虽然我知道我使用 RTRIM 得到了正确的结果,但我只是想了解为什么有些情况下没有它就不能正确地实现它。
SELECT LENGTH(NAME_LAST), COUNT(*)
FROM database
GROUP BY LENGTH(NAME_LAST)
ORDER BY LENGTH(NAME_LAST) DESC;