|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 64 ![]() |
Bonjour à tous,
Pour le projet sur lequel je travaille, nous avons une table DWG qui contient entre autres les colonnes DWG_NUMBER et DWG_NUMBER_SIMPLIFIED. Le n° simplifié est généré programmatiquement en Java. Les règles sont: 1. remplacement de tous les caractères accentués par leur équivalent non accentué (é => e, à => a, ç => c, ñ => n, ...) 2. suppression de tous les caractères non alphanumériques 3. mise en majuscule Malheureusement, en base nous avons des n° simplifiés incorrects. J'essaie d'écrire une requête SQL permettant d'identifier tous ces cas. Je suis arrivé à ça: Code :
J'ai testé avec Code :
UPPER(REGEXP_REPLACE(CONVERT(DWG_NUMBER, 'US7ASCII'), '[^A-Za-z0-9]', '')) Connaîtriez-vous une solution plus élégante ? D'avance merci ! |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
Avec LTRIM , tu enlèves toutes les bons caractères et si le résultat est NOT NULL, c'est que tout est bon.
Code :
C'est une méthode que j'utilise fréquemment pour vérifier si un champ VARCHAR2 ne contient que des chiffres (en vérifiant si le résultat est NULL)
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() ACInscription : octobre 2010 Messages : 28 ![]() |
Une petite fonction sans prétention...
Code :
Code :
SELECT removeAccent('Ülë èst le nöm de mâ côôpïne süèdoìse') FROM dual; |
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mai 2006 Messages : 64 ![]() |
Merci à tous pour vos réponses, je me garde ça sous le coude. On a décidé de remettre la résolution de ce problème à plus tard mais tout cela me sera utile quand je m'y remettrais ^^
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com