我认为您应该考虑阅读的指南适用于发票的显示方式,而不适用于如何将其存储在数据库中。
当数字存储为INT时,它是一个纯数字。如果在前面加上零并再次存储,则它仍然是相同的数字。
您可以选择NUMER字段,如下所示,或为该表创建一个视图:
SELECt LPAd(NUMER,6,'0') AS NUMERFROM ...
或者,不要在从数据库中选择数据时更改数据,而应该在显示时(仅在显示时)用数字填充数字。
我认为您对历史数据保持不变的要求是有争议的。即使是历史数据,发票001203也与发票1203相同。
但是,如果您绝对必须按照描述的方式进行操作,则可以转换为VARCHAR字段。转换后的历史数据可以原样存储,任何新条目都可以填充为所需的零。但我不建议这样做。



