0

データベースの列を更新する必要があります。スペースで区切られた最大 7 セットの数字を持つことができる列。お気に入り

3548 132 760 2348
123 346
37 982 439 

これらの列を次のように更新する必要があります。

3548 132 760 2348 0 0 0 
123 346 0 0 0 0 0
37 982 439 0 0 0

つまり、7セットの数を完全に埋めるようなものです。4セットを7セットに変更。

次のようにして、列のセット数を数えることができました

SELECT LENGTH('3548 132 760 2348')-LENGTH(REPLACE('3548 132 760 2348', ' ', '')) + 1

列のセット数を返します。上記の値を更新または返すのに役立つ SQL クエリはどれですか。

4

1 に答える 1

1

このクエリを使用できます-

SET @str = '548 132 760 2348';
SELECT RPAD(@str, LENGTH(@str) + (6 - (LENGTH(@str) - LENGTH(REPLACE(@str, ' ', '')))) * 2,' 0');

>548 132 760 2348 0 0 0

しかし、これらが ID 値である場合は、データを正規化することをお勧めします。

于 2013-02-26T07:22:48.853 に答える