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 25/05/2007, 15h04   #1
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 2
Points : 2
Par défaut [DB2]Récupérer les données de type entier

Bonjour à tous,

j'ai dans ma table une colonne de type varchar (10) contenant des données du genre 'xyz', '#abc', 'a102', '5', '106', ...

Je souhaite récupérer les lignes dont le contenu est strictement numérique. Existe-il un moyen de les avoir sans créer de procédure ?

Merci d'avance pour votre aide.
amy_g est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2007, 10h04   #2
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
Pas vraiment.

A part une commande SQL un peu bricolage

Code :
1
2
3
 
SELECT interger(maCol) FROM maTable 
    WHERE posstr('A',maCol) + posstr('B',maCol)+.... =0
Mais il faut être exhaustif.
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 10h16   #3
Invité de passage
 
Inscription : mai 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 6
Points : 2
Points : 2
Bonjour,

merci Jab pour ta réponse.

Voici ce que je voulais faire au départ :

SELECT *
FROM ma_table
WHERE posstr(translate(lower(ma_colonne),'','abcdefghijklmnopqrstuvwxyz','|'), '|') = 0 ;

ça marche à peu près bien sauf que ça affiche aussi les lignes quand le champ commence par '#' Du coup ce sera ça :

SELECT *
FROM ma_table
WHERE posstr(translate(lower(ma_colonne),'','abcdefghijklmnopqrstuvwxyz#','|'), '|') = 0 ;

Tu as raison, il faut être très exaustif... C'est pas très "propre" comme code mais apparemment il n'existe pas d'autre moyen.

Merci encore, bonne journée !
amy_g est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2007, 15h11   #4
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
Translate est évidemment une meilleur solution.
jab 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 03h56.


 
 
 
 
Partenaires

Hébergement Web