Mysql et la fonction max()

Mysql et la fonction max() - PHP - Programmation

Marsh Posté le 30-06-2005 à 18:10:37    

Bonsoir
 
Dans ma base j'ai des numeros de factures... et des numeros de devis.. j'aimerai que la seule différence entre les deux types de numeros c'est qu'une facture commence par 00000425 (par exemple) et que les devis seraient plutot DEV00000425....
 
si j'utilise la fonction MAX(numero_facture)... qu'est ce qu'il va se passer sachant que mon champs ne sera plus un int mais un varchar ?

Reply

Marsh Posté le 30-06-2005 à 18:10:37   

Reply

Marsh Posté le 30-06-2005 à 18:13:07    

Si c'est comme dans Sql Server il va toujours te renvoyer le plus gros. textuellement par exemple: "DEV05" est plus grand que "DEV04" car il fait une comparaison binaire.

Reply

Marsh Posté le 30-06-2005 à 18:22:14    

ah ok cool !
 
et si je mets par exemple :
 
les factures : 0000425
et les devis avec une syntaxe completement différente (genre 30062005DEV)... car normalement un devis ne doit pas faire partie de la serie des factures (tant que c'est qu'un devis !)
 
comment ça va s'organiser ? je suppose que les lettres sont plus "fortes" que les chiffres... donc il va me retourner la valeur qui se termine par la plus forte lettre non?

Reply

Marsh Posté le 30-06-2005 à 18:32:27    

Non, dans une comparaison binaire, 30062005DEV est plus grand que 30062004DEV, mais fait des tests :)
 
fais-toi un petit script php qui compare 2 chaînes et te renvoie true si c'est plus grand  :hello:

Reply

Marsh Posté le 04-07-2005 à 17:45:19    

et si dans une requete je lui dis de me retourner le plus grand nombre en ignorant les enregistrement comportant les caracteres "DEV"... je ferai comment ?

Reply

Marsh Posté le 04-07-2005 à 18:01:23    

where numero not like 'DEV%' ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 04-07-2005 à 18:13:31    

ah oui exact ! je vais faire comme ça je pense.. attribuer un numero temporaire avec DEV et changer se numero en fonction du max(numero_facture) quand le devis est validé.. je sais pas si c bien mais bon...

Reply

Sujets relatifs:

Leave a Replay

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