0

我有一个国家表,其中有一个由国家名称组成的 countryName 列,其中每个国家名称都有不同的名称长度。我需要使列中的所有名称具有相同的长度。我曾经UPDATE country SET countryName = Concat(name,' ');在每个条目中添加空字符,但是如何使所有名称的长度相同?

谢谢,

4

2 回答 2

1

您应该使用 MySQL RPADLPAD函数

UPDATE country SET countryName = RPAD(name,60,' '); 

这种方式 ' ' 将被追加,直到达到大小 60。

于 2012-07-08T09:24:28.197 回答
1

这会将countryName用空格填充的字段右侧更新为表中最长的长度countryName

UPDATE country a
CROSS JOIN
(
    SELECT MAX(CHAR_LENGTH(countryName)) AS maxlen
    FROM country
) b
SET a.countryName = RPAD(a.countryName, b.maxlen, ' ')
于 2012-07-08T09:26:45.260 回答