Bonjour,
Je voudrais dans une procédure tester le format d'une chaine avant de l'insérer dans une colonne number.
Comment faire pour tester qu'une chaine est au format numérique ?
Merci d'avance
Bonjour,
Je voudrais dans une procédure tester le format d'une chaine avant de l'insérer dans une colonne number.
Comment faire pour tester qu'une chaine est au format numérique ?
Merci d'avance
Si c'est dans une procédure stockée, tu peux utiliser la gestion d'erreurs en testant l'affectation de ta chaîne à une variable numérique...
y a pas mieux ? car quel que soit le langage, tester avec une exception n'est pas un super solution...
J'ai trouvé la solution autre part si ca peut aider quelqu'un qui a eu la même problematique.
Il suffit en fait de tester la valeur de retour de la fonction
LENGTH(TRIM(TRANSLATE('chaine a tester', '0123456789', ' ')))
Si c'est null, c'est que la chaine ne contient pas de lettre ou est nulle
Sinon il y a au moins une lettre dans la chaine.
La fonction TRANSLATE que tu utilises est particulière à ton SGBD et ne doit pas être confondue avec la fonction normalisée TRANSLATE(<character expression> USING <transliteration name>)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager