{Oracle} Expression regulière
Résolu
0866
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
0866 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
0866 Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j veux faire une expression régulière sous oracle(SQL) qui peut:
- valider un numéro ou un réel (INTEGER or FLOAT),
- ce numéro (ou réel) doit être borné ( dans un intervalle qui va être donner par l'utilisateur),
- de plus dans cette expression les nombres des chiffres avant/après le virgule doit être dynamique ( donner par un utilisateur).
mon problème consiste dans la dernier point ; j'arrive pas résoudre.
voici mon essai : '^'||v_min||'$|^[1-4]{0,1}\d{1}(.\d{1,2})?$|^'||v_max||'$'
avec v_min et v_max : deux variables dynamiques.
SVP est ce qu'il y a quelqu'un que peut m'aider? c 'est urgent!!!
Merci d'avance ,
cordialement.
j veux faire une expression régulière sous oracle(SQL) qui peut:
- valider un numéro ou un réel (INTEGER or FLOAT),
- ce numéro (ou réel) doit être borné ( dans un intervalle qui va être donner par l'utilisateur),
- de plus dans cette expression les nombres des chiffres avant/après le virgule doit être dynamique ( donner par un utilisateur).
mon problème consiste dans la dernier point ; j'arrive pas résoudre.
voici mon essai : '^'||v_min||'$|^[1-4]{0,1}\d{1}(.\d{1,2})?$|^'||v_max||'$'
avec v_min et v_max : deux variables dynamiques.
SVP est ce qu'il y a quelqu'un que peut m'aider? c 'est urgent!!!
Merci d'avance ,
cordialement.
A voir également:
- {Oracle} Expression regulière
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Oracle liste des tables ✓ - Forum Oracle
- Avoir du ping expression ✓ - Forum Réseau
- PING tres eleve ✓ - Forum jeux en ligne
1 réponse
j'ai trouver la solution ;
voici la solution:
on ajout cette ligne dans un trigger :
REGEXP_LIKE(:new.NomChamp,'^\d{0,'||v_DSize||'}(.\d{0,'||v_ESize||'})?$')
AND ((:new.NomChamp = v_min)OR(:new.NomChamp > v_min))
AND ((:new.NomChamp = v_max)OR(:new.NomChamp < v_max));
avec v_ESize et v_DSize : représente le nombre des chiffres avant et après la virgule
voici la solution:
on ajout cette ligne dans un trigger :
REGEXP_LIKE(:new.NomChamp,'^\d{0,'||v_DSize||'}(.\d{0,'||v_ESize||'})?$')
AND ((:new.NomChamp = v_min)OR(:new.NomChamp > v_min))
AND ((:new.NomChamp = v_max)OR(:new.NomChamp < v_max));
avec v_ESize et v_DSize : représente le nombre des chiffres avant et après la virgule