我有几千行,其中包含3位数字,以100开头,范围为199,我需要以0为前缀.还有数千个其他数字4位数字,我不想改变.
我需要找到范围内的所有3位数字,并且前缀只有100-199和0之间的前缀,因为它们是4位数,例如100> 0100,104> 0104,依此类推.这些数字也可以是步骤,例如110接下来是124.
有没有办法使用SQL来做到这一点?因为我不想手动改变这些!
非常感谢
小智 6
最好用编程语言完成.也就是说,这是一个SQL查询,它将更新所有现有的数字:
UPDATE tableName SET fieldName = right(concat('0000',fieldName), 4) WHERE length(fieldName) < 4
Run Code Online (Sandbox Code Playgroud)
该LPAD功能是你在找什么.您可以在查询中使用它来动态填充数字.
SELECT LPAD(CONVERT(num AS CHAR), 4, '0') FROM tbl WHERE num > 99 AND num < 200
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢在脚本端执行此操作,str_pad将在php中执行相同操作.
| 归档时间: |
|
| 查看次数: |
4245 次 |
| 最近记录: |