|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 39 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
A part écrire sa propre fonction DB2 pour vérifier cela, je ne vois pas d'autre solution en SQL.
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2006 Messages : 39 ![]() |
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... |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : septembre 2004 Messages : 123 ![]() |
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 Alex. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com