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

Langage SQL Discussion :

Extraire STRING d'un path


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Extraire STRING d'un path
    Hello à tous,

    Je galère pas mal sur l'extraction d'une partie d'un path.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    declare @s varchar(200);
    set  @path = 'ds:///vmfs/volumes/57c88db1-a92ed65e-39ba-9cb654ae089a/maVM/maVM.vmx'
    J'aimerai avoir uniquement la partie 'ds:///vmfs/volumes/57c58db1-a92ed40e-39ba-9cb654ae049a/'
    Je m'y perds un peu avec les RESERVE, LEFT et CHARINDEX.

    Est ce que vous avez une idée svp?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Quel est le critère qui te fait ne retenir que cette partie de la chaine ?
    Seulement les trois premiers niveaux du chemin ?
    Tous les répertoires du chemin sauf l'avant dernier ?
    La partie qui précède 'maVM/' ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé avec un SUBSTRING + REVERSE mais je n'arrive pas à isoler ce qui est avant /maVM

    En fait, il faudrait commencer du caractere 0 au CHARINDEX du 6ème slash

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    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 134
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Précisez aussi votre SGBD, les fonctions chaine de caractère varient d'un SGBD à l'autre

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Oui c'est mieux en le précisant c'est sous MS SQL

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2016
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Personne n'a une idée svp ?

  7. #7
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    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 134
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Voici un exemple qui fonctionne sur un autre SGBD, remplacez LOCATE_IN_STRING par CHARINDEX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    WITH CTE1 AS                                                     
        (SELECT '445A'                AS TXT                         
         UNION                                                       
         SELECT 'XX 56B/V44/'         AS TXT                         
         UNION                                                       
         SELECT 'XX 56B/V44/123X5_C/' AS TXT)                         
    SELECT                                                           
       TXT                                                           
      ,CASE WHEN LOCATE_IN_STRING(TXT, '/', 1, 1) > 0                
            THEN SUBSTR(TXT, 1, LOCATE_IN_STRING(TXT, '/', 1, 1)-1)  
            ELSE TXT                                                 
            END AS POS1                                              
      ,CASE WHEN LOCATE_IN_STRING(TXT, '/', 1, 2) > 0                
            THEN SUBSTR(TXT, LOCATE_IN_STRING(TXT, '/', 1, 1)+1      
                       ,(LOCATE_IN_STRING(TXT, '/', 1, 2)            
                        -LOCATE_IN_STRING(TXT, '/', 1, 1) - 1))      
            END AS POS2                                              
      ,CASE WHEN LOCATE_IN_STRING(TXT, '/', 1, 3) > 0                
            THEN SUBSTR(TXT, LOCATE_IN_STRING(TXT, '/', 1, 2)+1      
                       ,(LOCATE_IN_STRING(TXT, '/', 1, 3)            
                        -LOCATE_IN_STRING(TXT, '/', 1, 2) - 1))      
            END AS POS3                                              
    FROM CTE1
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TXT                 POS1                POS2                POS3               
    XX 56B/V44/         XX 56B              V44                 -------------------
    XX 56B/V44/123X5_C/ XX 56B              V44                 123X5_C            
    445A                445A                ------------------- -------------------

Discussions similaires

  1. [RegExp] Extraire string vers json
    Par lokomass dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/10/2014, 15h49
  2. [RegEx] extraire string d'une autre string
    Par gégé140488 dans le forum Langage
    Réponses: 1
    Dernier message: 19/11/2012, 20h42
  3. extraire 'String' aprés libelle
    Par gastoncs dans le forum VB.NET
    Réponses: 12
    Dernier message: 17/01/2012, 21h17
  4. Réponses: 7
    Dernier message: 22/06/2009, 16h31
  5. [VB.NET] Extraire infos string
    Par guillaume1998 dans le forum VB.NET
    Réponses: 11
    Dernier message: 06/11/2005, 21h02

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