MySQL追加,在一系列数字前加0前缀

MySQL追加,在一系列数字前加0前缀,mysql,Mysql,我有大约几千行,其中包含3位数字,从100开始,到199,我需要以0作为前缀。还有数以千计的其他数字,4位数字,我也不想改变 我需要找到范围内的所有3位数字,只在100-199之间的数字前面加0,因为它们是4位数字,例如100>0100、104>0104等等。 同样,这些数字也可能是步骤110,下一步是124 有没有一种方法可以使用SQL实现这一点?因为我不喜欢手动更改这些 非常感谢这最好用编程语言来完成。也就是说,下面是一个SQL查询,它将更新所有现有的数字: UPDATE tableName

我有大约几千行,其中包含3位数字,从100开始,到199,我需要以0作为前缀。还有数以千计的其他数字,4位数字,我也不想改变

我需要找到范围内的所有3位数字,只在100-199之间的数字前面加0,因为它们是4位数字,例如100>0100、104>0104等等。 同样,这些数字也可能是步骤110,下一步是124

有没有一种方法可以使用SQL实现这一点?因为我不喜欢手动更改这些


非常感谢

这最好用编程语言来完成。也就是说,下面是一个SQL查询,它将更新所有现有的数字:

UPDATE tableName SET fieldName = right(concat('0000',fieldName), 4) WHERE length(fieldName) < 4
updatetablename SET fieldName=right(concat('0000',fieldName),4)其中长度(fieldName)<4
该功能正是您所需要的。您可以在查询中使用它动态填充数字

SELECT LPAD(CONVERT(num AS CHAR), 4, '0') FROM tbl WHERE num > 99 AND num < 200
从tbl中选择LPAD(转换(num为CHAR),其中num>99和num<200

如果您喜欢在脚本端执行此操作,将在php中执行相同操作。

是否有您正在使用的脚本语言?我使用PHP5和MySQL Front。请检查字段是否为字符,因为在数字左侧添加一个零并将其保存到db只会再次删除它(数字不会以零开头)。谢谢cpharmston,你可能会认为它会用0000替换<4的所有内容。但它没有,它保留了原来的数字,效果很好-谢谢,你为我节省了很多时间。干杯,谢谢理智的丹麦人。我也会试试,但上面的方法似乎还可以。