Bonjour,
J'ai le problème suivant: Je dois entrer un champ de la forme
"aaaa 4444 4444 4444"
Comment dois-je écrire ma contrainte de domaine pour m'assurer que les douzes dernier caractères soient des chiffres??
Merci
Bonjour,
J'ai le problème suivant: Je dois entrer un champ de la forme
"aaaa 4444 4444 4444"
Comment dois-je écrire ma contrainte de domaine pour m'assurer que les douzes dernier caractères soient des chiffres??
Merci
exemple :
chaine étant ta chaine de caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPPER(SUBSTR(chaine, 5)) = LOWER(SUBSTR(chaine, 5))
Attention, cela ne fonctionne pas si tu as des caractères spéciaux dans ta chaîne à tester
Sinon 1 autre technique s'offre à toi :
- Créer une fonction is_number te permettant de valider ou non la présence d'un number :
Il n'y a plus qu'à l'appeler dans une boucle résultant d'un substring ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SQL> create or replace 2 function isnumeric 3 ( p_string in varchar2) 4 return boolean 5 as 6 l_number number; 7 begin 8 l_number := p_string; 9 return TRUE; 10 exception 11 when others then 12 return FALSE; 13 end; 14 /
Bon courage,
Pardon, je suis débutant, mais je ne comprends pas la réponse d'orafrance...
J'ai besoin de 4 lettre suivi de 12 integer.
Mon problème c'est de vérifier si les 12 derniers caractères sont des int...
Je ne vois pas comment le upper et le lower font cela.
Merci
qu'est ce qui peut être identique en majuscule et minuscule si ce n'est les nombre, et en effet, les caractères spéciaux![]()
Houla.. tiré par les cheveux ton truc !
Un petit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LTRIM(souschaine, '0123456789') IS NULL AND souschaine IS NOT NULL
Partager