需要更新我们数据库中的一列。一列,最多可以有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查询将有助于更新或返回如上所述的值。
最佳答案
您可以使用此查询-
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值,则建议您将数据标准化。
关于mysql - 选择SQL循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15083313/