Bonjour,
Est -il possible avec une requete sql d'extraire la partie numerique d'une chaine de caractéres par exemple:Merci de votre aideextraire 4590 sur : "escale n° 4590 sur EST"
Bonjour,
Est -il possible avec une requete sql d'extraire la partie numerique d'une chaine de caractéres par exemple:Merci de votre aideextraire 4590 sur : "escale n° 4590 sur EST"
C'est possible.
Par contre la solution que je te propose regroupera les chiffres s'ils sont à plusieurs endroits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part translate(donnee, '0'|| translate(donnee, 'a0123456789','a'), '0')
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT TRANSLATE(donnee, '0'|| TRANSLATE(donnee, 'a0123456789','a'), '0') resultat FROM ( SELECT 'escale n° 4590 sur EST' AS donnee FROM dual UNION ALL SELECT 'escale n° 4590 sur EST 35' AS donnee FROM dual ) RESULTAT 4590 459035
oui merci pour ta réponse
Pour information, Pacmann a rédigé un article sur son blog à ce sujet :
http://pacmann.over-blog.com/article...-51158452.html
Tiens, si Pacmann passe par là, son point 3 est un peu compliqué
Compliqué de faire un translate puis un trim, alors que RTRIM ou LTRIM marche plus simplement (et plus rapidement)3) Translate !
La méthode TRANSLATE, c'est simple :
En gros, on prend la chaîne, on remplace tous les chiffres par des blancs, et s'il ne reste que des blancs à la fin, c'est un nombre.
SELECT CASE WHEN trim(translate('1234,5', '1234567890,', ' ')) IS NULL THEN 1 ELSE 0 END as num
, CASE WHEN trim(translate('robert', '1234567890,', ' ')) IS NULL THEN 1 ELSE 0 END as notnum
FROM DUAL
C'est un code que j'utilise souvent (sans la virgule)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT CASE WHEN rtrim('1234,5', '1234567890,') IS NULL THEN 1 ELSE 0 END as num , CASE WHEN rtrim('robert', '1234567890,') IS NULL THEN 1 ELSE 0 END as notnum FROM DUAL
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