Bonjour à tous,

Voici mon problème

j'ai une table avec une colonne caractère "code" et une colonne caractère "resultat"
Suivant le code la colonne "resultat" peut être renseignée par du numérique ou de l'alpha

Pour des besoins statistiques sur les données numériques j'ai essayé de filtrer les données de la sorte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT code,COUNT(resip_resultat) as res FROM 
WHERE code='01'  AND CAST(TRIM(resultat) AS INTEGER)<=200;
(lorsque code='01' il s'agit exclusivement de données numériques)

cela a retourné une erreur de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ERREUR:  syntaxe en entrée invalide pour le type integer : « BLABLA »
(blabla étant une donnée caractère stockée dans resultat)

j'ai donc essayé de filtrer par une sous-requête

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SELECT  code,res FROM
(SELECT code,COUNT(resip_resultat) AS res FROM 
WHERE code='01') as sreq1 
WHERE  CAST(TRIM(res) AS INTEGER)<=200;
et j'ai de nouveau la même erreur.

comment cela se fait t'il, la sous requête n'aurait-elle pas dû enlever les données alpha ?

Merci pour vos suggestions.

Cordialement,
Rupteur