IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Nombre aléatoire en SQL


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 18
    Points : 17
    Points
    17
    Par défaut [Résolu]Nombre aléatoire en SQL
    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

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Voici comment proceder.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 897
    Points : 53 132
    Points
    53 132
    Billets dans le blog
    6
    Par défaut
    Plus simple :

    SELECT 10000*rand() ...;


    A +

  4. #4
    Membre actif
    Avatar de MashiMaro
    Profil pro
    Inscrit en
    Février 2003
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 180
    Points : 213
    Points
    213
    Par défaut
    En prenant compte de la fourchette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT (9000*rand())+1000...
    SQLPro

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous avez raison, j'avais mal compris la question. Je pensais qu'il avais besion de toute la plage entre 1000 et 9999.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Précision
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    floor(10000*rand())
    mais floor(1234.34) me donne 1234.0 et moi je veux obtenir 1234 le plus simplement possible.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 18
    Points : 17
    Points
    17
    Par défaut [Résolu]C bon
    C'est réglé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select SUBSTRING ( cast(FLOOR ((9000*rand())+1000)as varchar(50)) , 1 , 4 )
    Merci à tous

  8. #8
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    heuu, sauf erreur tu le cast en integer c'est même encore plus simple...

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    si je le cast en integer un nombre aléatoire du genre 0123 ne sera plus sur 4positions ce qui ne m'arrange pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH MX] Choisir un nombre aléatoire dans une liste
    Par grenatdu55 dans le forum Flash
    Réponses: 4
    Dernier message: 23/04/2005, 21h09
  2. p'tite question de cryptage ( nombre aléatoire )
    Par smyley dans le forum Algorithmes et structures de données
    Réponses: 53
    Dernier message: 08/11/2004, 10h07
  3. Nombres aléatoires
    Par Mat 74 dans le forum Assembleur
    Réponses: 20
    Dernier message: 29/08/2004, 13h31
  4. recherche algo de génération de nombre aléatoire
    Par Pascale38 dans le forum MFC
    Réponses: 2
    Dernier message: 26/01/2004, 14h20
  5. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo