早安DBA, 我需要一个函数来拉取一个int DocumentID列并返回最低的千位int。限制是我们的结果必须有8个字符,前导字符必须为0。
示例1 :1234(DocumentID列中包含的int)结果:00001000 (由结果集中的函数生成)
示例2 :1152534结果:01152000
结果集......
DocumentID Function
1234 00001000
1152534 01152000
答案 0 :(得分:0)
这是基本结构。确切的命令可能因RDBMS而异。
right('00000000'||cast(DocumentID as varchar(8)),8)
答案 1 :(得分:0)
这适用于SQL Server(基于@Declan_K的回答)
SELECT RIGHT('0000' + CONVERT(VARCHAR(5), DocumentID /1000) , 5)+ '000'