Vous n'êtes pas identifié(e).
Bonjour,
J'ai construit l'une de mes tables mysql n'importe comment et j'aimerais récupérer des données pour l'améliorer.
Disons que j'ai 2 champs:
- idpoeme : qui est vide pour le moment
- nom: qui contient des valeurs de ce type: prisonRICKWAYS1341, abandonJUNI24, soleilLULULEFOU342
EST-IL POSSIBLE de récupérer les valeurs numériques 1341, 24, et 342 pour ces trois cas et les insérer dans le champs idpoeme ?
merci d'avance pour votre aide (j'ai 13000 enregistrements que je ne voudrais pas refaire à la main)
ERIC
Hors ligne
Saluton,
EST-IL POSSIBLE de récupérer les valeurs numériques 1341, 24, et 342 pour ces trois cas et les insérer dans le champs idpoeme ?
Oui
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour KRIS,
merci encore une fois pour cette superbe réponse, qui marche à la perfection...
Par contre, j'ai plongé dans le manuel mysql et je n'arrive pas à comprendre ta formule, alors si tu as quelques seconde pour la détailler pour les imbéciles comme moi, cela serait magique.
EN FAIT JE VAIS ESSAYER D'EXPLIQUER ET TU ME DIS:
REVERSE permet au chiffre de la fin de revenir au début, ce qui donne un nombre suivit de lettre, en multipliant cela par 1 on supprime toutes les lettres, il reste donc le nombre à l'envers que l'on remet à l'envers une nouvelle fois en le multipliant par 1.
Si c'est cela,
est-il nécessaire de mettre le dernier *1 ?
cela marcherait-il si le nombre se situait au milieu ?
Encore merci, et si tu n'as pas le temps, comme d'habitude, pas la peine de répondre c'est déjà beaucoup
ERIC
Hors ligne
EN FAIT JE VAIS ESSAYER D'EXPLIQUER ET TU ME DIS:
REVERSE permet au chiffre de la fin de revenir au début, ce qui donne un nombre suivit de lettre, en multipliant cela par 1 on supprime toutes les lettres, il reste donc le nombre à l'envers que l'on remet à l'envers une nouvelle fois en le multipliant par 1.
Si c'est cela,
est-il nécessaire de mettre le dernier *1 ?
Non, mais j'ai l'habitude que mes identifiants soient INTEGER UNSIGNED alors j'ai supposé que c'était le cas de idpoeme. Si c'est le cas je pense que cette petite opération évite à MySQL de retransformer la valeur avant de l'intégrer dans la colonne.
Mais, honnêtement je ne sais pas si c'est plus rapide, c'est juste une habitude de vieux porgrammeur dans des environnements moins laxistes quant au typage des données.
cela marcherait-il si le nombre se situait au milieu ?
Evidemment non, dans ce cas MySQL n'offrirait rien de simple dans sa palette de fonctions natives et il faudrait en passer par une procédure stockée dans un langage accepté par MySQL (C par exemple), ce que n'autorise pas tous les hébergeurs.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci pour ces explications un peu complexes mais qui aideront peut-être d'autres lecteurs.
J'ai remarqué une limite à cette opération:
Tous les nombres se terminant par 0 perdent leurs 0
Exemple: prisonRICKWAYS1340 ne donnera pas 1340 mais 134 !!!!
Est-ce normal ????
Hors ligne
Oui c'est normal et il faut, bien évidemment, y remédier malheureusement je ne vois pas trop comment là, tout de suite. Je vais regarder du côté de ZEROFILL, mais je ne crois pas qu'on puisse forcer un format de nombre avec ça.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci Kris, ce n'est pas grave si tu ne trouve pas, ça réduit mon travail de 90%
Je n'ai plus que 10% des comm à effectuer à la main c'est déjà bien (1200 comm restants)
Merci en tous cas.
ERIC
Hors ligne
Si tu peux faire un truc de ce genre
ça devrait couvrir déjà pas mal de cas
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Alors là c'est le top, merci, je pense que tout est ok !
Hors ligne
En fait, mon jeune disciple, Axel, lors de notre séance d'hier soir, m'a subtilement orienté vers une solution beaucoup plus générique, qui consiste à enfermer les éventuels zéros finaux pour les libérer élégamment à la fin. La voici:
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne