Bonjour,
Je recupere des entiers de ma base de données. Dans ma procédure je voudrais mettre mes valeurs sur 6 caractères en rajoutant des zeros a gauche.Par exmeple si j'ai 4356, je voudrais le transformer en 004356.
Merci
Bonjour,
Je recupere des entiers de ma base de données. Dans ma procédure je voudrais mettre mes valeurs sur 6 caractères en rajoutant des zeros a gauche.Par exmeple si j'ai 4356, je voudrais le transformer en 004356.
Merci
Merci de lire les règles du forum et surtout celle là Message clair et précis.
Evitons les ctrl c ctrl v => Ne sortons pas les codes de leur contexte sinon ça ne marche pas.
Bonjour,
Essayez ceci :
@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DECLARE @toto INT SET @toto = 4356 SELECT REPLICATE('0', 6 - LEN(@toto)) + CAST(@toto AS VARCHAR)![]()
Autre possibilité
L'astuce est toute basique : on concatène la donnée avec une chaîne de caractères ayant le nombre de 0 que l'on souhaite max (6 dans votre cas). Ainsi, grâce à un Right ( xxxx, 6), le tour est joué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT Right('000000' + @toto, 6)
Bonjour,
L'avantage de la fonction REPLICATE est que l'on peut lui passer un nombre paramétrable de répétitions à effectuer
@++![]()
Ayez l'habitude de clôturer les postes
Partager