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 ?
Publicité
Posté le 30-06-2005 à 18:10:37
NullDragon
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.
freed102
Arayashiki
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?
NullDragon
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
freed102
Arayashiki
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 ?
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...