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

Requêtes MySQL Discussion :

Aucune fonction ou astuce pour générer un acronyme d'une chaine ?


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 470
    Par défaut Aucune fonction ou astuce pour générer un acronyme d'une chaine ?
    bonjour,

    j'ai un champ string(32) dont je voudrais qu'il contienne l'acronyme d'un autre champs string(255).

    par exemple :
    libelle(255)="il fait beau dehors"
    acro(32)="ifbd"

    J'ai cherché dans les fonctions String de mysql mais apparemment il n'y a pas de solution possible de faire un UPDATE pour que ce soit automatique.
    vous me le confirmez ?
    Je vais envisager un simple script php pour faire l'opération...

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    select all regexp_replace('il fait beau dehors', '\\B.| ', ''); -- ifbd
    Sans doute à améliorer

  3. #3
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 470
    Par défaut
    merci pour la suggestion (valide mysql> 8.0.4).
    j'étais en train de chercher autrement en remplaçant par un espace tout ce qui n'est pas majuscule...en vain ou en gardant que les caractères succédant par un espace...

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 603
    Billets dans le blog
    10
    Par défaut
    Une remarque : un acronyme est un sigle qui se prononce comme un nom, par exemple ONU est un acronyme, alors que SCNF n'en est pas un.
    Du coup, votre colonne ne devrait pas se nommer ACRO mais SIGLE

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    merci pour la suggestion (valide mysql> 8.0.4).
    j'étais en train de chercher autrement en remplaçant par un espace tout ce qui n'est pas majuscule...en vain ou en gardant que les caractères succédant par un espace...
    Pas compris. Donne des exemples d'entrées / sorties attendues.

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 603
    Billets dans le blog
    10
    Par défaut
    Comment gérez vous les articles, les élisions (apostrophes), les traits d'union, les prépositions, les pronoms et autres cas particuliers...

    Par exemple, que devient la chaîne de caractères suivante :
    il s'abonne pour un mois : ISAPUM, ISPUM, IAPUM, IAM ou encore AM selon qu'on conserve ou pas les articles, les prépositions...

    À mon avis, il faut passer par une UDF pour pouvoir gérer tous ces cas particuliers, une simple fonction SQL ne suffira pas.

  7. #7
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 470
    Par défaut
    bonjour,

    mon cas et besoin est très simple, c'est juste pour avoir un acronyme d'un libellé.
    rien à avoir avec une url, le référencement ou autre.

    que devient la chaîne de caractères suivante :
    il s'abonne pour un mois : ISAPUM, ISPUM, IAPUM, IAM
    idéalement :

    I S P U M (on garde que les lettres avant un espace)

    sinon

    I A P U M (on garde que les lettres des expressions de plus de 2caractères avant un espace) .


    Vu que ça n'existe pas en mysql (pas de Capitalize non plus pour macher le travail), je vais faire un post-traitement en php après un insert/update.

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/11/2022, 08h22
  2. [Débutant] Astuces pour générer des Grafcet
    Par Sieur_Blabla dans le forum Langages
    Réponses: 5
    Dernier message: 07/01/2014, 17h55
  3. Utilitaire pour générer la documentation d'une BD SQL
    Par carjo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/05/2006, 18h41

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