[oracle] Récupération d'un nombre dans un champ texte

Récupération d'un nombre dans un champ texte [oracle] - SQL/NoSQL - Programmation

Marsh Posté le 14-01-2009 à 12:00:25    

Bonjour,
 
Je souhaiterais récupérer un niombre qui se trouve dans champ de type varchar(2)
 
Exemple 1 : groupe 23
Exemple 2 : mon groupe était le groupe 38 intitulé .....
Exemple 3 groupe_22
 
Merci de votre aide

Reply

Marsh Posté le 14-01-2009 à 12:00:25   

Reply

Marsh Posté le 14-01-2009 à 12:48:13    

à partir d'oracle 10g tu as des fonctions pour les expressions régulières : http://www.oracle.com/technology/o [...] p_pt1.html

Reply

Marsh Posté le 14-01-2009 à 13:08:53    

Pour convertir un champ déclaré en varchar(2) en un nombre on utilise to_number(le_champ_alpha).
Pour convertir un champ numérique en une chaine de caractère, on utilise to_char(le_champ_numerique).
 
(N.B. Ne serait-ce pas plutôt un varchar2(10) ? De toutes manières ça n'a pas d'importance ici.)
 
Pour concaténer (mettre bout à bout des chaines de caractères) on utilise deux barres verticales.
 
Par exemple, pour obtenir "groupe 23", on peut faire

select "groupe " || to_char(23) from dual;

Reply

Marsh Posté le 14-01-2009 à 13:45:00    

Merci de votre réponse mais la conversion du texte en number ne marche pas (erreur oracle ORA01722 nombre non valide)
 
la longueur du texte est un varchar2(2000)
Je dois récupérer le nombre uniquement (soit 23, 22, 38...)
Merci

Reply

Marsh Posté le 14-01-2009 à 14:36:52    

dalhia101 a écrit :

Merci de votre réponse mais la conversion du texte en number ne marche pas (erreur oracle ORA01722 nombre non valide)


normal, ton champ n'est pas un nombre.
Expressions régulières, comme annoncé dans la première réponse.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-01-2009 à 15:45:06    

J'ai réussi à extraire la position du numérique avec les nouvelles fonctions oracle 10 g
 
Merci  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed