Bonjour,
Voilà j'aimerai stocker dans ma base de donnée l'identifiant de mes commandes qui biensur s'ajoute en autoincrémente mais formater sur 10 caractères, qui serai remplis avec des 000..
est-ce possible ?
Version imprimable
Bonjour,
Voilà j'aimerai stocker dans ma base de donnée l'identifiant de mes commandes qui biensur s'ajoute en autoincrémente mais formater sur 10 caractères, qui serai remplis avec des 000..
est-ce possible ?
il faudrais peut etre que tu es deux colonnes, une en int en auto increment et une en varchar ou tu mets ton int plus les 0
euh ... çà me parait bien lourd :roll:
une autre soluce ?
comme tu veux, si on te propose rien d'autre voici un morceau de code qui pourra t'interesser
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 /****************************************************************************/ -- compléte avec des zéros un nombre converti en chaine de caractères /****************************************************************************/ CREATE FUNCTION dbo.FN_PAD_ZERO (@INT INTEGER, @NBR_ZERO INTEGER) RETURNS VARCHAR(8000) AS BEGIN DECLARE @OUT VARCHAR(8000) -- cas trivial @NBR_ZERO est NULL IF @NBR_ZERO IS NULL RETURN @OUT -- cas trivial @NBR_ZERO < longueur de @INT IF @INT IS NOT NULL IF @NBR_ZERO < LEN(CAST(@INT AS VARCHAR(8000))) RETURN @OUT -- cas général SET @OUT = CAST(@INT AS VARCHAR(8000)) WHILE LEN(@OUT) < @NBR_ZERO BEGIN SET @OUT = '0'+@OUT END RETURN @OUT END GO
Merci beacoup pour ton aide HULK.
Mais n'existe t'il pas une solution comme on peut le trouver sur Acces avec le format :|
Tu peux aussi faire comme ça ... ça fait bidouille, mais ça fonctionne ;)
Code:SELECT RIGHT(10000000000 + @i, 10)
HULK pour en revenir à ta solution c'est bien un procédure stocké que tu me donne là ?
C'est juste que jsuis pas un expert en SQL Server :(
oui c'est une procédure stockée
oulalala je dis des coneries moi, non c'est pas une procedure stockée, c'est une "UDF" (User defined functions)
Alors pour créer une YDF c'est exactement comme pour créer une prod stock, tu fait un clic droit sur User defined functions et new.
et apres il faut l'appeller cette UDF avant chaque traitement sur la table des commandes ?
Je voit pas bien comment çà fonctionne ?
je crois que tu peux l'appeler à partir d'une procedure stockée. Quand tu es sous ton entreprise manager appui sur F1 et tappe "create function" (si tu es en anglais) et tu verra comment l'utiliser