sql字符自动填充

来源:百度知道 编辑:UC知道 时间:2024/06/28 12:56:37
比如 数据库里存的字符长度为10
如果存的是1则显示0000000001
如果存的是2则显示0000000002

请问如何写这个sql函数

select replicate('0',10-len(字段))+字段 from 表 --如果原字段是字符型的话这样写

select replicate('0',10-len(字段))+cast(字段 as varchar(10)) from 表 --如果原字段是数字型的话这样写

以上,希望对你有所帮助!

oracle里边也可以用lpad

在这里说下其他的思路,当然只是随便说说 不是最好的解决方式

你可以先将该字段填满0,再将数据从右到左填进去(我一直记得这个做法,因为当年学汇编的时候曾经被这个问题难住了)

mysql 里可以用select lpad(id,10,'0')实现
sql server
select REPLICATE('0',10-len(id))+cast(id as varchar) from tmp

oracle、mysqlL : select lpad(id,10,'0') from a

如果是oracle数据库的话,可以select lpad(col,10,'0') from table