[SQL] Problème => Récupérer RefDossierMax (non entier)

Problème => Récupérer RefDossierMax (non entier) [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 21-06-2006 à 17:17:40    

Bonjour à tous,
 
Je fais face à un problème qui commence à m'agacer quelque peu.
Je suis en train de développer une appli permettant de gérer des dossiers.
 
Ces dossiers à leur création se voient attribuer une référence.
Cette référence est un entier, sauf si ce dossier est un dossier "reprise"... et par conséquent, le champ associé à cette référence est un VARCHAR2 de longueur 10 caractères.
 
A chaque création de dossier, je récupère la référence maxi, à laquelle je lui incrémente 1 afin d'obtenir ma future référence.
Mon problème, lorsque j'arrive à la référence 10, ma requête me renvoie la référence max 9 (je suppose que cela provient du fait que la référence est une string), et par conséquent ma nouvelle référence est alors "10", et je n'incrémente plus par la suite... et j'écrase le précédent dossier ayant pour référence 10.
 
Je ne sais pas si je me fais comprendre, mais concrètement, lorsque j'ai 9 dossiers de créés, je n'ai pas de problème pour créer le dossier ref 10 (car ma requête me renvoie 9 pour la ref max des dossiers existants)... mais quand j'ai 10 dossiers de créés, ma requête me renvoie 9 pour la ref max, et non 10... et je finis par écraser mon précédent dossier 10.
 
Voici ma requête (ultra basique) :

Code :
  1. SELECT MAX(refDossier) as refMaxDossier FROM dossier WHERE natureDossier = 'CLA' ;


La condition de sélection des dossiers de nature 'CLA', c'est volontaire, ça me permet de récupérer que les références qui sont de type entier.
 
J'aimerai donc une requête adaptée, qui me "casterait" en quelques sortes le VARCHAR2 en INT le temps de la requête.
 
Si vous avez des idées (voir même une alternative/solution à mon problème), ce serait fort appréciable de m'en faire part.
 
En vous remerciant ;).
 
Fiiies

Reply

Marsh Posté le 21-06-2006 à 17:17:40   

Reply

Marsh Posté le 21-06-2006 à 17:31:07    

les fonctions de cast devrait t"aider :  
http://dev.mysql.com/doc/refman/5. [...] tions.html , avec quelque chose du genre :  
CAST(refDossier AS SIGNED INTEGER)

Reply

Marsh Posté le 21-06-2006 à 17:37:54    

Impeccable!
Et bien, tu m'enlèves une sacré épine du pied!
 
Bon, un souci en moins... Merci à toi ;).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed