TSql – formattare un numero con zeri a sinistra
Quando abbiamo una serie di numeri e diventa necessario in visualizzazione disporre i numeri con zeri a sinistra abbiamo due strade possibili in Sql Server.
Se abbiamo una versione Sql inferiore alla 2021 questa è la sintassi:
DECLARE @DIM int=5
SELECT RIGHT((replicate('0',@DIM) + cast(ISNULL(campo,'') as nvarchar)),@DIM)
Se invece abbiamo installato la versione 2012:
select FORMAT(campo, 'd5');
Se volessimo essere più “compatibili” nelle versioni 2012 possiamo scrivere una funzione ad-hoc
create function format(@number INT,@length INT)
returns nvarchar(MAX)
as
begin
return RIGHT(concat(replicate('0',@length),ISNULL(@number,'')),@length)
end
L’utilizzo:
select dbo.format(campo,5)