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

MS SQL Server Discussion :

[TSQL] calculer le nombre de mot dans une cellule


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Par défaut [TSQL] calculer le nombre de mot dans une cellule
    Bonjour à tous,
    Je suis débutant sur SQL serveur. J'ai une table dans laquelle j'ai une colonne "nom". Les cases de cette colonne sont remplis par plusieurs mots (et groupes de mot) séparés par des virgules. Je cherche le moyen de connaitre le nombre de mots existant.

    Un exemple : j'ai dans ma case " tomate, pomme de terre, courgette". j'aimerai une requête qui me réponde "3". j'ai regardé sur le FAQ mais je n'ai rien trouvé.

    Comment faire?
    jespère avoir été à peu près clair merci d'avance

    ps : Dsl pour Mr le modérateur, ma version SQL est 8.00, je sais pas quoi mettre dans l'intitulé

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Bonjour,

    tu as combien de lignes au maximum dans ta table ?

    Parce que je connais bien une méthode pour faire ce que tu demandes, mais un en utilisant des curseurs et au niveau des performances, bien sur c'est affligeant.

    Mais j'ai fait des recherches sur MSSQL2000, et je vois pas d'autre façon de faire :

    1- Ouvrir un curseur sur la colonne de ta table
    2- Compter le nombre de vigules dans la colonne (en utilsant la fonction CHARINDEX et en itérant sur le nombre de caractères)
    3- Vérifier que ni le permier caractère, ni le dernier sont des virgules
    4- Ajouter 1 à ton résultat final pour avoir le nombre de mots

    Dans ton exemple, tu vas trouver 2 virgules, donc 3 mots.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Par défaut
    Alors justement, j'ai regardé l'aide mais je comprend pas la syntaxe des curseurs. peut tu m'expliquer brievement.
    charindex compte le nombre de virgule de toute la colonne? comment faire pour avoir le nombre de virgule par case?

    J'ai au maximum une centaine de ligne donc au niveau performance, ça ne devrait pas être trop contraignant (?!)

    merci d'avance

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    laisse moi le temps d'écrire un bout de code et je reviens vers toi

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Par défaut
    ok pas de pb. merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Et voilà.

    Attention, ca marche que MSSQL server je crois et encore une fois, si des milliers de lignes, ca va ramer
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Compter nombre de mots dans une cellule Excel
    Par nkhalidy dans le forum Excel
    Réponses: 6
    Dernier message: 12/07/2017, 21h12
  2. Réponses: 1
    Dernier message: 15/05/2008, 16h54
  3. Calcul du nombre d'occurences dans une colonne
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/09/2007, 15h11
  4. Réponses: 10
    Dernier message: 31/12/2006, 12h35
  5. Compter nombre de mots dans une chaîne.
    Par xVINCEx dans le forum C++
    Réponses: 22
    Dernier message: 24/11/2004, 13h33

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