Comment puis-je compter le nombre de mots dans une chaîne de caractères dans Oracle?
Je suis en train de compter le nombre de mots qu'il y a dans une chaîne SQL.
Select ("Hello To Oracle") from dual;
J'en veux pour preuve le nombre de mots. Dans l'exemple donné, il serait de 3 mots mais il pourrait y avoir plus d'un espace entre les mots.
- J'ai utilisé Uniquement pl/sql mais de nombreuses commandes . si il n'y a de toute façon dans sql, s'il vous plaît laissez-moi savoir
- Montrez-nous ce que vous avez essayé jusqu'à présent. Ensuite nous dire ce qui se passe quand vous essayez de lui afin que nous puissions vous aider à régler ce que vous êtes en train de faire.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser quelque chose de semblable. Cette fonction retourne la longueur de la chaîne, puis substracts la longueur de la chaîne avec les espaces supprimés. Par puis ajouter le numéro un à qui devrait vous donner le nombre de mots:
Voir SQL jouer avec la Démo
Si vous utilisez les données suivantes:
Et la requête:
Le résultat est:
Depuis que vous utilisez Oracle 11g c'est encore plus simple-
Voici une sqlfiddle démo
select regexp_count(your_column, '[^[:space:]]+') from your_table
Si votre exigence est de supprimer plusieurs espaces trop, essayez ceci:
Puisque j'ai utilisé le
dual
tableau, vous pouvez le tester directement dans votre propre environnement de développement./de cette Logique, vous pouvez continuer alon/