Comment formater un nombre en une chaîne de collier de zéros?
Très simplement dans SQL Server T-SQL le langage, comment voulez-vous conver le numéro 9 de la chaîne N'00009'?
En règle générale, vous laissez votre INTERFACE utilisateur de faire ce métier...
Généralement, je laisserais mon middle tier faire ce travail n'est pas mon UI, mais dans ce cas, qui ne fonctionne pas, c'est pourquoi je me pose la question.
Généralement, je laisserais mon middle tier faire ce travail n'est pas mon UI, mais dans ce cas, qui ne fonctionne pas, c'est pourquoi je me pose la question.
OriginalL'auteur Jordan | 2011-01-11
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer
Le résultat sera une chaîne de caractères, pas un type de numéro.
Je ne suis pas sûr, cela fonctionne si le nombre est
143
? Serait00143
être retournés ou00000143
? @Jordan: Google-recherche pour "Sql Server rembourrage de la fonction" voir les implémentations delpad
etrpad
. Semble l'habitude d'utiliserreplicate
etlen
.Non, il ne prend que 5 caractères les plus à droite après la concaténation.
Oui, il va travailler pour 143 et jusqu'à 99999. J'ai choisi les 5 chiffres de la présentation, car j'ai vu que le format de la question. Le reproduire et à len fonctionnera aussi bien.
bobs: Ok, cool!
OriginalL'auteur bobs
Vous pouvez utiliser ceci:
Le résultat est une chaîne
SELECT REPLICATE('0',5-LEN(CAST(number AS NVARCHAR))) + CAST(number AS NVARCHAR)
OriginalL'auteur Mohsen
Si vous êtes sur SQL Server 2012 ou plus tard, vous pouvez également utiliser le FORMAT fonction:
Bien des formats de toutes sortes de choses ...
OriginalL'auteur takrl