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 et SQL. Discussion :

Récupérer chaine de caractère en SQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 37
    Points : 13
    Points
    13
    Par défaut Récupérer chaine de caractère en SQL
    Bonsoir
    J'ai une colonne de 719 enregistrement qui sont de la façon suivante
    tata / toto / tutu
    tata / toto / tutuche
    tata / toto / tutululuche
    tata / toto / tutulalouche
    Je voudrais récupérer le texte à partir du dernier "/" (vous l'aurez compris, le nombre de caractère pourrait varier) comme suivant
    tutu
    tutuche
    tutululuche
    tutulalouche

    Le code SQL semblerait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SUBSTR(nom_colonne, "/", 10)
    FROM tableu
    mais je ne suis pas sur

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 828
    Points : 14 925
    Points
    14 925
    Par défaut
    bonsoir,
    avec 2 Instr pour trouver la position du second "/" et un Mid pour extraire la fin du texte cela devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select mid(nom_colonne, instr(instr(1,nom_colonne,"/")+1,nom_colonne,"/")+2) from tableu
    à noter que ce code ne tient pas compte des valeurs vides

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonsoir,

    J'interviens pour signaler que la fonction InStrRev permet de détecter un caractère à partir de la fin de la chaîne. Instr inversée quoi !

    Cordialement.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 828
    Points : 14 925
    Points
    14 925
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonsoir,

    J'interviens pour signaler que la fonction InStrRev permet de détecter un caractère à partir de la fin de la chaîne. Instr inversée quoi !

    Cordialement.
    Merci madefemere pour l'information.
    Oui, j'y ai d'abord pensé, sans pouvoir retrouver le nom de la fonction qui, de mémoire, existe depuis une version récente d'Access (je ne connais pas laquelle).
    Mon code à l'avantage de fonctionner avec les anciennes versions (LaTOPE n'a pas précisé sa version Access).

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 37
    Points : 13
    Points
    13
    Par défaut
    Merci de votre aide
    tee_grandbois j'ai ACCESS 2016

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 37
    Points : 13
    Points
    13
    Par défaut Erreur de syntaxe opérateur absent
    J'ai essayé cette requête , ils me mettent
    "Erreur de syntaxe opérateur absent"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE Application_SPK
    Set Nom_Application= SELECT RIGHT(Nom_Application,Len(Nom_Application)-InStrRev(Nom_Application,"/")-1)
    FROM Application_SPK;

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Tu as l'air de t'emmêler les pinceaux dans ce que tu veux faire avec ta requête !
    Tu veux récupérer les valeurs et les mettre où ? => si c'est dans un nouveau champ de la requête, il suffirait de créer le nouveau champ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveau champ : RIGHT(Nom_Application,Len(Nom_Application)-InStrRev(Nom_Application,"/")-1)
    Si tu veux "écraser" les anciennes valeurs (requête mise à jour), tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE Application_SPK
    Set Nom_Application= RIGHT(Nom_Application,Len(Nom_Application)-InStrRev(Nom_Application,"/")-1)
    (Ne connaissant pas le contexte, mais avec le peu d'expérience que j'ai, je ne suis pas partisan de cette deuxième façon de faire)


    Cordialement.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 37
    Points : 13
    Points
    13
    Par défaut
    madefemere

    Je voulais juste ecraser les ancienne valeurs désolé de pas avoir préciser , merci pour votre code
    je ne savais pas qu'il fallait enlever le FROM.
    MERCI BEAUCOUP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2014] Récupérer la requête SQL exécutée en chaine de caractères ?
    Par ypelissier dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/05/2015, 17h08
  2. [WD17] Récupérer chaine de caractères dans fichier csv
    Par johan0510 dans le forum WinDev
    Réponses: 24
    Dernier message: 30/01/2013, 15h35
  3. [XL-2007] récupérer chaine de caractère en plusieurs étapes dans une combobox via variable
    Par chombriko dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 21/05/2012, 09h43
  4. AWK - Récupérer chaine de caractère avec n caractère
    Par LuffyyffuL dans le forum Débuter
    Réponses: 1
    Dernier message: 27/04/2011, 20h07
  5. Réponses: 1
    Dernier message: 10/08/2010, 14h26

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