sandrinoo Posté 28 Juin 2017 Posté 28 Juin 2017 Bonjour à tous et à toutes, Voilà mon souci (du jour), je bute là dessus depuis le début d'aprèm : j'ai besoin d'insérer via le sql de phpmyadmin un nombre aléatoire compris entre 00 et 99 (soit 00, 01, 02 jusqu'à 98, et 99). j'avais pensé mettre un truc du style : UPDATE XXXX SET nombre = ROUND( RAND() * 9 ) Mais ce code ne me génère que de 0 à 9. Peut-on le doubler en le concaténant comme ceci pour obtenir ce que je veux : set nombre = ROUND( RAND() * 9 ).ROUND( RAND() * 9 ) Visiblement non car ça marche pas chez moi... Si vous avez d'autres idées, je suis preneuse
Aenoa Posté 28 Juin 2017 Posté 28 Juin 2017 Bonjour, SELECT ROUND(RAND() * 99); tout simplement :-) Bonne journée!
sandrinoo Posté 28 Juin 2017 Auteur Posté 28 Juin 2017 merci Aenoa. Oui effectivement ! 1/ mais les 04 s'enregistre en 4. Ca dois être ma base qui est paramétrée comme ça. Je sais qu'en mettant des quotes sur un nombre avec un 0 devant c'est bon. Bref peut-on glisser des quotes dans le code que tu m'as donné ? 2/ Le problème aussi c'est que j'aurais besoin également d'un nombre de 18 chiffres style nombre =ROUND( RAND() * 999999999999999999 ) et là ça bloque également car cela me génère dans ma base mysql des nombres style 1.0984465583213108e16. Donc j'en reviens toujours à ma problématique de départ. Une concaténation de ROUND( RAND() * 99 ).ROUND( RAND() * 99 ) est-elle possible ?
Aenoa Posté 28 Juin 2017 Posté 28 Juin 2017 Concernant le 0 précédent pour les nombres <10, la concatenation peut etre une solution oui. SELECT CONCAT(ROUND(RAND() * 9),ROUND(RAND() * 9)); Tu peux aussi utiliser LPAD. SELECT LPAD( ROUND(RAND() * 99), 2, '0'); Pour le nombre à 18 chiffres, même popotte: SELECT ROUND(RAND() * 999999999999999999); et avec des leading 0, SELECT LPAD(ROUND(RAND() * 999999999999999999), 18, '0'); Bonne journée!
sandrinoo Posté 28 Juin 2017 Auteur Posté 28 Juin 2017 Super Merci beaucoup Aenoa ! La France remercie la Belgique
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant