Mentre gli altri hanno già giustamente sottolineato - zeri un INT non ha leader - tiene solo il valore, tutto qui (e va bene così).
Se avete bisogno di qualche formattazione aggiuntiva, si può sempre aggiungere una colonna calcolata al vostro tavolo, qualcosa di simile:
ALTER TABLE dbo.Identitytest
ADD DisplayNumber AS RIGHT('000' + CAST(number AS VARCHAR(3)) , 3) PERSISTED
In questo modo, la vostra identità INT verrà utilizzato come un int e contiene sempre il valore numerico , mentre DisplayNumber
contiene 001, 002, ... 014, 015, .....
e così via - automagicamente, sempre aggiornato.
Dal momento che è un campo persistente, è ora parte della vostra tavola, e si può interrogare su di esso, e anche mettere un indice su di esso per rendere le query più veloce:
SELECT value FROM dbo.IdentityTest WHERE DisplayNumber = '024'
E, naturalmente, è possibile utilizzare quasi ogni formattazione nella definizione della vostra colonna calcolata, così si potrebbe anche aggiungere un prefisso o qualcosa:
ALTER TABLE dbo.Identitytest
ADD DisplayNumber
AS 'ABC-' + RIGHT('000' + CAST(number AS VARCHAR(3)) , 3) PERSISTED
quindi, in questo caso, la DisplayNumber
sarebbe ABC-001, ABC-002, ...
e così via.
Ottenete il meglio da entrambi i mondi: mantenete la vostra INT IDENTITÀ che è numerica e aumentata automaticamente da SQL Server, ed è possibile definire un formato di visualizzazione come più vi piace e renderlo disponibile in qualsiasi momento.
Perché questo è stato abbassato? La domanda era chiara e comprensibile. – kbrimington
@ David-Stratton: Ah ah! – kbrimington
So che probabilmente non ti interessa, ma mi scuso per i miei commenti precedenti e li sto eliminando (tranne il primo prima che mi sentissi frustrato). Ero fuori linea e mi dispiace. – David