0

国名で構成される countryName 列を持つ国のテーブルがあり、国名ごとに名前の長さが異なります。列内のすべての名前を同じ長さにする必要があります。以前はUPDATE country SET countryName = Concat(name,' ');各エントリに空の文字を追加していましたが、すべての名前を同じ長さにするにはどうすればよいですか?

ありがとうございました、

4

2 に答える 2

1

MySQL RPADおよびLPAD関数を使用する必要があります

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 に答える