Récupération d'un nombre dans un champ texte [oracle] - SQL/NoSQL - Programmation
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
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; |
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
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.
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
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