Bonjour,
Voila je voudrais avoir un nombre aléatoire compris entre 1000 et 9999
c'est à dire sur 4 positions
je n'ai trouvé que la fonction rand mais le nombre est compris entre 0 et 1
j'utilise l'SGBD sql server
Merci
Version imprimable
Bonjour,
Voila je voudrais avoir un nombre aléatoire compris entre 1000 et 9999
c'est à dire sur 4 positions
je n'ai trouvé que la fonction rand mais le nombre est compris entre 0 et 1
j'utilise l'SGBD sql server
Merci
Voici comment proceder.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE TABLE [NALEA] ( [Nombre] [int] NULL ) ON [PRIMARY] GO DECLARE @counter smallint SET @counter = 1000 WHILE @counter < 9999 BEGIN SET NOCOUNT ON INSERT INTO NALEA SELECT @counter * RAND(@counter) SET NOCOUNT OFF SET @counter = @counter + 1 END GO SELECT Nombre as [Nombre Aléatoire] FROM NALEA
Plus simple :
SELECT 10000*rand() ...;
A +
En prenant compte de la fourchette :
SQLPro ;)Code:
1
2
3 SELECT (9000*rand())+1000...
Vous avez raison, j'avais mal compris la question. Je pensais qu'il avais besion de toute la plage entre 1000 et 9999.
Bonjour à tous
Merci de m'avoir répondu
il se trouve que j'ai utilisé la fonction rand()
mais j'ai omis de préciser que mon nombre devait être entier sur 4 positions
Moi j'ai procédé comme suit:
Code:
1
2 floor(10000*rand()) mais floor(1234.34) me donne 1234.0 et moi je veux obtenir 1234 le plus simplement possible.
C'est réglé
Merci à tousCode:select SUBSTRING ( cast(FLOOR ((9000*rand())+1000)as varchar(50)) , 1 , 4 )
heuu, sauf erreur tu le cast en integer c'est même encore plus simple...
si je le cast en integer un nombre aléatoire du genre 0123 ne sera plus sur 4positions ce qui ne m'arrange pas