Bonjour,
J'ai cherché un peu partout sur internet et je ne trouve pas la réponse à ma question. Je recherche une explication claire (au moins pour moi) de la fonction TRANSLATE.
Voici la requête que j'exécute :
select CHAMP, TRANSLATE(CHAMP, '*', '0123456789'), TRANSLATE(CHAMP, '*', ' 0123456789') from DWH.TABLE
Je vous joins les résultats.
J'avais cru comprendre que si, caractère par caractère, le caractère du 1er argument se trouve dans le 2e, alors on retourne le caractère du 3e argument à la position où on l'a trouvé dans le 2e argument.
Mais dans ma requête, ça ne fonctionne pas. On n'obtient pas les mêmes résultats si le 3e argument commence par un espace.
Mon but ultime est de chercher si le champ CHAMP ne contient que des chiffres : en faisant un RTRIM et en comparant la longueur à 0, ça semble fonctionner.
Mais j'aimerais bien comprendre !! Sauriez-vous m'aider svp ?
Par avance, merci.
Partager