Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/03/2011, 17h28   #1
Invité de passage
 
Inscription : octobre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 7
Points : 0
Points : 0
Par défaut Nombre de retours chariot dans un champ texte

Bonjour a tous,

Je voudrai calculer le nombre de retour chariot et le nombre de mot dans mon champ de type string.

Exemple:

Mon champ dans la table est de type: 'Commande1 FacturéEncours'.
Il faut que je trouve le nombre de retour chariot et le nombre de mot dans le champ.

Merci de votre aide.
henni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 17h38   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Quel est le SGBDR ?
Sous MS SQL Server, faites une UDF qui recherche le caractères ASCII 12 ou 13 ou les deux....
Même chose pour le nombre de mot en considérant que chaque fois que devant une lettre de A à Z en collation CI AI il n'y a pas de lettre, c'est un mot de plus.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 17h39   #3
Invité de passage
 
Inscription : octobre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 7
Points : 0
Points : 0
Je suis sur Oracle9i
henni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 19h42   #4
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
Pour compter le nombre d’occurrence d'un caractère dans une chaine, il faut faut prendre la longueur de la chaine initiale moins la longueur de la chaine sans les caractères.
Code :
length(machaine) - length( REPLACE(machaine, chr(10)))
Pour les mots, faut compter le nombre d'espaces ou de retour chariot.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/03/2011, 12h43   #5
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
avec une version moins antique (la fin du premier support pour 9i est Juillet 2007) tu peux utiliser les regex

Ex:
Code :
1
2
3
4
5
SELECT 
  txt,
  regexp_count(txt,'\w+',1,'m') words,
  regexp_count(txt,'$',1,'m') LINES
FROM t
Code :
1
2
3
4
5
6
7
8
9
 
     WORDS      LINES TXT                                                                                  
---------- ---------- -------------------------------------------------------------------------------------
        69          6 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor      
                      incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud   
                      exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute      
                      irure dolor IN reprehenderit IN voluptate velit esse cillum dolore eu fugiat nulla   
                      pariatur. Excepteur sint occaecat cupidatat non proident, sunt IN culpa qui officia  
                      deserunt mollit anim id est laborum.
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h33.


 
 
 
 
Partenaires

Hébergement Web