Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2006, 11h01   #1
Invité régulier
 
Inscription : août 2006
Messages : 39
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 39
Points : 5
Points : 5
Par défaut vérifier type alphanumerique

Bonjour,

Voilà, j'ai des données dans une table qui sont de type char, qui peuvent être soit des chiffres, soit des lettres, soit un melange des 2....

Mais j'ai des caractères spéciaux qui apparaissent dans certaines lignes et je voulais savoir s'il existe en DB2 une fonction qui permettrait de verifier que les caractères de la chaine de caractères sont bien soit des lettres de a à z, soit des chiffres de 0 à 9, et rien d'autres.... auquel cas je pourrais faire un traitement sur les données qui contiennent des caractères spéciaux.

Merci de m'aider,

Jérémy
dje2303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 11h56   #2
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Par défaut Fonction

A part écrire sa propre fonction DB2 pour vérifier cela, je ne vois pas d'autre solution en SQL.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 14h13   #3
Invité régulier
 
Inscription : août 2006
Messages : 39
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 39
Points : 5
Points : 5
on ne peut pas utilisé d'expression régulière ?

genre

SELECT colonne FROM table
WHERE colonne LIKE '[a-z]'...

quelque chose comme ça, où on peut prendre toutes les lettres de a à z et les entiers ?

Je continue de chercher...
dje2303 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2006, 14h55   #4
Membre habitué
 
Inscription : septembre 2004
Messages : 123
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 123
Points : 127
Points : 127
Bonjour,

Il faut que tu te renseignes sur ton codepage. En EBCDIC par ex, les caractères A-Z en majuscules sont codées entre C1 et Ex. Donc si tu veux contrôler qu'un caractère est en entre A et Z, tu peux faire un substr(colonne,position,1) between 'A' and 'Z' et ainsi de suite. L'idée, c'est de faire des plages de valeurs 0-9, a-z, A-Z et de gérer les exceptions par ex si entre a et z, il y a @, il faudra indiquer substr(colonne,position,1) différent @. J'espère avoir été clair et peut-être y'a-t-il plus simple ( vu que la dernière fois j'avais fait un peu compliqué ).

Alex.
alex. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h03.


 
 
 
 
Partenaires

Hébergement Web