Bonjour, j'ai une question sur des requetes select avec des casts.
Je cherche a trouver le plus grand entier N dans une table tel que N>x1 et N<x2 ( avec x1 et x2 definis par moi)
le probleme c'est qaue le champ recherché est en fait de type varchar , donc il peut etre egalement une chaine de caractere...
En fait j'ai un autre critere de recherche qui est disons un type : le select donnerait
select max(ref) from matable where type='int' and cast(ref as int)>x1 and cast(ref as int)<x2
je suis sur que toutes les lignes de la table avec le champ type='int' representent un nombre
par contre si j'ecris cette formule , j'obtiens un message d'erreur sur le cast ( la machine essaie d'effectuer un cast d'une ligne qui n'est pas de type'int' en fait, elle semble chercher ce qui correspond a mes criteres de selection mais pas selon un ordre special)
En fait ce que je voudrais faire c'est d'abord obtenir toutes le slignes du type='int' puis a l'interieur de cette selection trouver le max qui correspond a mes criteres de recherche
J'ai essayé un truc du genre select max(ref) from (select ref from matable where type='int') int where cast(ref as int)>x1 and cast(ref as int)<x2
mais j'obtiens exactement le meme message d'erreur, il me dit que la ligne avec ref='aaaeee' ne peut etre convertie en int alors que la ligne qui contient cet ref n'est pas du type='int'...
Y a t il une solution ? Comment faire ... ?
merci