Bonjour,
Je cherche à utiliser la fonction REGEXP_LIKE pour spécifier que la valeur retournée par mon champ doit être du type NUMBER.
Bonjour,
Je cherche à utiliser la fonction REGEXP_LIKE pour spécifier que la valeur retournée par mon champ doit être du type NUMBER.
Hello,
pour ton souci, je ne suis pas sûr que REGEXP_LIKE soit la bonne méthode, à moins de vouloir spécifier un format particulier de ta donnée auquel cas il faudra que tu précises ton regexp du genre :
Mais sinon, tu peux aussi créer une procédure qui te retournera si ta donnée est de type number ou non, fais une recherche sur le forum, j'ai déjà vu ça par là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select myData from myTable where REGEXP_LIKE(myData,'maRegexp',monOption)
Bonjour,
Si j'ai bien compris votre besoin
Bien à vous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 -- ------------------------------------------------------------- /* ne laisser que les nombres. supprimer tout autre caractères */ -- ------------------------------------------------------------ SELECT TO_NUMBER (REGEXP_SUBSTR ('?E4252Wx/', '\d+')) tr FROM DUAL; select regexp_replace('asdf 12gmsX 435Pkts asd','[^[:digit:]]') from dual ;
Mohamed Houri
S'il n'y a pas de virgule, et qu'on souhaite vérifier uniquement des chiffres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LTRIM(champ, '0123456789') IS NULL AND champ is not null
Merci Mohamed.Houri
Mon pb est reglé !!!
portes toi bien
Partager