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 :

Tronquer une chaine de caractères


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 26
    Points
    26
    Par défaut Tronquer une chaine de caractères
    Bonjour à tous,

    J'ai effectué une recherche sur le forum mais je n'ai pas trouvé de réponse (peut etre ai je mal cherché car je pense que mon sujet a déja dû etre abordé).

    Je cherche, via une instruction SQL, à pouvoir couper une chaine de caractères.

    Je m'explique :
    Imaginons que j'ai un chemin :

    \Plop\test\voila, je voudrais pouvoir retourner \Plop\test (en sachant que Plop ou test peuvent faire 5 ou 50 caractères, donc je ne pense pas pouvoir appliquer SUBSTRING).

    J'imagine qu'il y a un filtre à faire par rapport au caractère "\" mais je ne vois pas comment faire.

    Je vous remercie par avance de votre aide.

    Tsuna

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Sous quel SGBD et quelle version ? Parce que l'implémentation des fonctions varie d'un SGBD à l'autre...

    ced

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Hello,

    Je tourne sous SQL-Server 2000

    Tsuna

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    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 102
    Points : 28 399
    Points
    28 399
    Par défaut
    Tu cherches à extraire la chaîne jusqu'au troisième \ ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SUBSTRING(macolonne 
                FROM 1 
                FOR 1
                    + POSITION('\' IN SUBSTRING(macolonne FROM 2))
                    + POSITION('\' IN 
                        SUBSTRING(macolonne 
                            FROM POSITION('\' IN SUBSTRING(macolonne FROM 2)) + 2))
            )

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Oui je cherche à extraire jusqu'au troisième.

    Après je dois avouer que je ne comprends pas grand chose au code que tu as marqué (par exemple FROM 1 : 1 est le premier "/" ?)

    Peux tu me donner plus d'explications ou me renvoyer vers un tuto si possible ?

    Merci d'avance

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    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 102
    Points : 28 399
    Points
    28 399
    Par défaut
    Citation Envoyé par Tsuna78
    Peux tu me donner plus d'explications ou me renvoyer vers un tuto si possible ?
    Commence par lire la définition des fonctions SUBSTRING et POSITION dans la documentation de ton SGBD. S'il reste des points obscurs, précise les...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Justement SUBSTRING je l'ai lu dans tous les sens, mais POSITION n'existe pas dans la documentation que je lis :/

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Aucun SGBD ne respecte la norme SQL à 100%.
    Adaptez donc le code de la norme (c'est-à-dire celui de al1_24) en fonction de la documentation propre à votre SGBD.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 26
    Points
    26
    Par défaut
    Oui, effectivement, je suis désolé, j'ai fait une fixation sur POSITION et sur une autre instruction que j'avais vu "LOCATE".

    En fait dans mon cas, il fallait utiliser CHARINDEX.

    Merci pour l'aide apportée, ça marche parfaitement maintenant

    Tsuna

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

Discussions similaires

  1. Fonction pour tronquer une chaine de caractère
    Par nekcorp dans le forum Langage
    Réponses: 7
    Dernier message: 29/09/2014, 13h05
  2. Tronquer une chaine de caractère
    Par proc02 dans le forum Langage
    Réponses: 2
    Dernier message: 09/05/2013, 10h09
  3. Tronquer une chaine de caractère
    Par thanks33 dans le forum Débuter
    Réponses: 3
    Dernier message: 18/06/2009, 11h36
  4. Tronquer une chaine de caractère
    Par Maluje dans le forum Langage
    Réponses: 2
    Dernier message: 18/02/2008, 17h18
  5. [RegEx] Tronquer une chaine de caractère sauf si c'est une URL.
    Par psychoBob dans le forum Langage
    Réponses: 16
    Dernier message: 03/06/2006, 12h01

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