如何在Access查询中将两个数字连接在一起时,如何保持前导零?
FileYear | FileIteration
------------------------
14 | 0001
14 | 0002
14 | 0003
14 | 0004
(FileIteration
有" 0000"格式,但仍然存储为整数)
SELECT MAX(FileYear & FileIteration)
FROM FileNumber
WHERE FileYear=Format(Date(),"yy");
144
它不会保持前导零。
140004
我希望它保持领先的零。
答案 0 :(得分:2)
使用Format
函数是我认为“正确”的方法,尽管在这种情况下有很多方法可以达到你想要的效果。
Format()
的输出将是一个字符串
SELECT MAX(FileYear & Format(FileIteration,"0000"))
FROM FileNumber
WHERE FileYear=Format(Date(),"yy");
答案 1 :(得分:1)
如果它始终是一个4位数字,您可以这样做:
Fileyear * 10000 + FileIteration
如果位数是动态的,我们假设它位于NoOfDigits列中:
Fileyear * 10 ^ NoOfDigits + FileIteration
答案 2 :(得分:1)
一个可能的查询的Access SQL语句,假设4位FileIteration是:
SELECT Max(([FileYear]*1000)+[FileIteration]) AS Answer
FROM FileNumber
WHERE ((([FileYear])=Format(Date(),"yy")));
答案 3 :(得分:-1)
在连接之前将它们转换为字符串:
CStr(Fileyear) & CStr(FileIteration)