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

MS SQL Server Discussion :

[SQL] Creation d'une chaine de caractere aleatoire.


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Points : 52
    Points
    52
    Par défaut [SQL] Creation d'une chaine de caractere aleatoire.
    Bonjour à tous,

    N'etant pas un expert du merveilleux language SQL.. Je bloque sur une creation d'une chaine alphanumerique de 9 caracteres.

    En clair j'ai besoin de créer une chaine de 9 caracteres tous ceci aleatoirement et que les 9 caracteres soit composer de chiffre et de lettre.
    J'ai essayer avec la fonction sql rand() que je repete 9 fois mais elle me sort tous le temps le meme chiffre.
    Un peu énervant de ne pas trouver une seul fonction random digne de se nom dans le language SQL.

    Quelqu'un connaitrais une solution a mon petit probleme.

    Merci d'avance

    Shakta

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 73
    Points : 52
    Points
    52
    Par défaut
    Merci de ta reponse mais j'i deja essayer cette fonction qui ne random rien du tout si on fait de l'insertion de masse.
    mon exemple : char(round(rand()*28+65,0) me permet d'obtenir une letttre en majuscule.
    Le probleme est qui me sort toujours la meme lettre .. un peu enervant.

    Je suis a court d'idee et recherche une autre facon de sortir une lettre ou chiffre aleatoirement... Mais vraiment aleatoirement.

    Merci d'avance pour vos reponse.

    Shakta

  4. #4
    Membre actif Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Points : 248
    Points
    248
    Par défaut
    Citation Envoyé par Shakta Voir le message
    char(round(rand()*28+65,0)
    Shakta
    Ce code te renverra des caractères ASCII qui dépassent l'intervalle des majuscules.
    Il te faut utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char(round(rand()*25+65,0))

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 901
    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 901
    Points : 53 143
    Points
    53 143
    Billets dans le blog
    6
    Par défaut
    Il faut passer par une procédure pour générer ce genre de choses.

    A +

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut aleatoire.
    dans une discussion, on a propose ORDER BY NewID(), tu pourrais créer une table avec les 26 lettres de l'alphabet et utiliser une procedure comme sql pro te le conseille pour aller chercher 7 fois un caractere ORDER BY NewID()...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [FONT=Courier New]SELECT[/FONT][FONT=Courier New] CLEF_PRIMAIRE [/FONT][FONT=Courier New]FROM[/FONT][FONT=Courier New] TABLE1 [/FONT][FONT=Courier New]ORDER[/FONT][FONT=Courier New][/FONT][FONT=Courier New]BY[/FONT][FONT=Courier New][/FONT][FONT=Courier New]NEWID[/FONT][FONT=Courier New]()
    [/FONT]

Discussions similaires

  1. [Débutant] creation des mots a partir d'une chaine de caractere
    Par mittt dans le forum MATLAB
    Réponses: 1
    Dernier message: 17/08/2014, 02h05
  2. recuperer une chaine de caractere aleatoire
    Par ajupa dans le forum Général Python
    Réponses: 2
    Dernier message: 20/12/2007, 19h24
  3. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  4. [SQL Server 2000] Extraction dans une chaine de caracteres
    Par KOFJCH dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/10/2006, 09h28
  5. Controler une chaine de caracteres ou d'entiers?
    Par Le druide dans le forum C
    Réponses: 6
    Dernier message: 25/09/2003, 08h48

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