Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2927 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Oracle] Teste chaine de caractere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Oracle] Teste chaine de caractere

n°1259218
td-rat
www.corkteam.com
Posté le 05-12-2005 à 16:09:02  profilanswer
 

Bonjour,
 
Je suis sous oracle 9i. J ai une requete de mise a jour d'un champ qui recupere le contenu d'un champ, le converti en nombre et fait une opération desssu pour renseigner une nouvelle colonne.
 
Il arrive de temps en temps que des valeurs avec des caractere non numerique se glissent dans la colonne. Et ca plante le traitement.
 
Je ne sais pas comment m'y prendre pour tester que je n ai que des caractere numerique dans ma colonne ( les expression reguliere arrivent avec la version 10)
 
Merci

mood
Publicité
Posté le 05-12-2005 à 16:09:02  profilanswer
 

n°1259260
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-12-2005 à 16:34:49  profilanswer
 

le plus simple est de faire une fonction prenant en paramètre un VARCHAR(4000)
 
Implémentant une gestion d'erreur, et tentant un CAST en NUMBER(18)
 
val = to_number(val)
on error
val = 0
 
et zou ! t'appelles cette fonction sur ton champs, avec un decode sur le test to_char(fct(val)) != val pour détecter s'il y a eu une erreur

n°1259277
td-rat
www.corkteam.com
Posté le 05-12-2005 à 16:41:38  profilanswer
 

Ok j achete c est bien dans l esprit ca. Par contre niveau realisation, aurais tu un exemple de gestion d'erreur ?

n°1259300
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-12-2005 à 16:49:30  profilanswer
 

aucun exemple.
mais je me souviens m'être posé le problème un coup, et j'étais tombé sur cette solution dans google et y'avais un exemple de cette fonction, donc à priori, suffit de chercher "isnumeric oracle" dans google ou un truc du genre et ça doit aller :)

n°1259303
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-12-2005 à 16:50:45  profilanswer
 

encore mieu !
 
http://www.techonthenet.com/oracle [...] umeric.php
 
là, c'est bien pourri comme solution (parcequ'on ne comprends pas ce qu'on fait) mais ça à l'air pas mal du tout !

n°1259305
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-12-2005 à 16:52:04  profilanswer
 

ceci dit, ce n'est pas parfait comme solution :
 
192.168.0.1 sera détecté comme un nombre, tout comme l'expression "1+1"...

n°1259323
td-rat
www.corkteam.com
Posté le 05-12-2005 à 17:02:57  profilanswer
 

Oui mais mais si j enleve +-. de la fonction ca marche car si il tombe sur un . un + ou - il retourne une valeur.
 
Merci bcp pour votre aide.

n°1259326
Arjuna
Aircraft Ident.: F-MBSD
Posté le 05-12-2005 à 17:04:57  profilanswer
 

si t'as ni nombre négatifs ni décimaux, en effet c'est parfait !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Oracle] Teste chaine de caractere

 

Sujets relatifs
requêtes entre BDD Oracle différentesSQL Access/Oracle
[Pascal] Chaine de caractere (string)Chaine de caratères : sortir les espaces à la fin
Chaîne de caractèrePb Oracle TNS : no listener
[PHP] Créer une variable à partir d'une chaîne de caractères ?Réplication basic Oracle à Oracle
Plus de sujets relatifs à : [Oracle] Teste chaine de caractere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR