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

MySQL Discussion :

Extraction d'une chaine de caractères


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Extraction d'une chaine de caractères
    Bonjour à tous,

    Je cherche une requête SQL qui me permette d'extraire une chaine de caractères.
    Voila par exemple: ID="kojkh || HJNWGCHJ"
    Pour cette colonne ID, je veux extraire que la première chaine de caractères, la chaine avant "||".
    Je ne peux pas me baser sur la longueur de la chaine de caractères, car elle est variable.

    Merci par avance de votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonsoir

    Il faut utiliser les fonction Chaîne (string) de Mysql.

    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select
    left(a.MaColonne, (INSTR(a.MaColonne,'separateur.')-1))
     
    from MaTable a
    Pierre

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    J'ose espérer que cette colonne nommée ID n'est pas l'identifiant de la ligne de la table, c'est à dire la clé primaire de la table ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 379
    Points : 19 060
    Points
    19 060
    Par défaut
    Bonjour hajarita65.

    Vous demandez d'extraire une sous-chaîne à partir d'une chaine. Il existe plusieurs fonctions réalisant cela, comme left(), right(), substr().
    Sauf que ces fonctions travaillent en général par positionnement et longueur de la sous-chaîne à extraire.

    Ce qui m'intrigue dans votre demande, c'est que vous désirez extraire sur le premier groupe de caractères représenté par un "||".
    Cela me rappelle l'opérateur du "ou logique" en C.

    La solution est d'extraire d'abord la position de votre marqueur '||'. La fonction 'locate()' réalise très bien cela.

    Voici un exemple qui vous sera utile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select left(chaine, locate("cad",chaine)-1) as test
    from (select "abracadabra" as chaine) as xx;
    Et le résultat est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    +------+
    | test |
    +------+
    | abra |
    +------+
    En espérant avoir répondu à votre attente.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. extraction d'une chaine de caractère d'un fichier texte
    Par c_salsabil dans le forum Général Java
    Réponses: 1
    Dernier message: 31/12/2009, 15h27
  2. Réponses: 7
    Dernier message: 05/04/2009, 10h40
  3. Réponses: 2
    Dernier message: 05/03/2009, 16h06
  4. Extraction d'une chaine de caractère
    Par ozzy75 dans le forum Développement
    Réponses: 0
    Dernier message: 26/10/2008, 11h23
  5. Extraction d'une chaine de caractères
    Par megane dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2004, 14h52

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