Мисля, че трябва да помислите, че указанията, които прочетете, важат за това как трябва да се показва една фактура , а не как трябва да се съхранява в базата данни.
Когато числото се съхранява като INT, това е чисто число. Ако добавите нули отпред и го съхраните отново, това все още е същото число.
Можете да изберете полето NUMER, както следва, или да създадете изглед за тази таблица:
SELECT LPAD(NUMER,6,'0') AS NUMER
FROM ...
Или вместо да променяте данните, когато ги избирате от базата данни, помислете за допълване на числото с нули, когато го показвате и само когато го показвате.
Мисля, че изискването ви исторически данни да останат същите е спорен въпрос. Дори за исторически данни фактура с номер 001203 е същата като фактура с номер 1203.
Въпреки това, ако абсолютно трябва да го направите по начина, който описвате, тогава преобразуването в поле VARCHAR може да работи. Преобразуваните исторически данни могат да се съхраняват както са, а всички нови записи могат да бъдат допълнени до необходимия брой нули. Но не препоръчвам това.