Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 09/08/2007, 10h31   #1
Invité de passage
 
Inscription : octobre 2005
Messages : 7
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : octobre 2005
Messages : 7
Points : 3
Points : 3
Envoyer un message via ICQ à sdebois Envoyer un message via MSN à sdebois Envoyer un message via Skype™ à sdebois
Par défaut Fonction IS_NUMERIC ? IS_DATE ? IS_<TYPE> ?

Salut à tous

Je possède une table contenant des colonnes de type texte VARCHAR(255) (issu de fichiers CSV TXT importés provenant d'une applications très vieille: DOS / COBOL indexé, ... bref).
Je dois pouvoir tester la validité des données de chaque colonne (dans un simple but de contrôle de données).
Je dois donc opérer une batterie de tests sur ces champs texte afin d'identifier les erreurs d'import.

J'ai donc besoin de fonctions qui attaquent les champs TEXTE comme :

IS_NUMERIC(string value)
IS_DATE(string value)
IS_<type> ...
etc.

L'idée est de pouvoir faire ceci à travers une requête SQL :

SELECT IS_DATE(table.column) FROM table;

et cela me donnerait comme résultat un BOOLEEN (true / false)

C'est surtout le IS_DATE et le IS_NUMERIC qui serait utile en fait.
Dans MS Access ou SQL Server cela existe, et j'aimerais trouver le penchant sous MySQL.

Une idée ? Une suggestion ?

Merci d'avance,
Steph.
sdebois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 10h47   #2
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Salut,

Je dirais avec une regex.

Code :
SELECT ColonneINT REGEXP '^[0-9]+$' FROM LaTable;
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 11h36   #3
Invité de passage
 
Inscription : octobre 2005
Messages : 7
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : octobre 2005
Messages : 7
Points : 3
Points : 3
Envoyer un message via ICQ à sdebois Envoyer un message via MSN à sdebois Envoyer un message via Skype™ à sdebois
Par défaut Merci

Salut Xunil,

Merci beaucoup, c'est une idée géniale. A laquelle je n'avais effectivement pas du tout pensé.
sdebois est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h48.


 
 
 
 
Partenaires

Hébergement Web