Petit problème de requête...

Petit problème de requête... - SQL/NoSQL - Programmation

Marsh Posté le 26-07-2004 à 11:35:32    

Bonjour à tous..
 
Alors voilà ma requête

Code :
  1. select promo || '0' || numero_ordre from elv where nom='$nom' and prenom='$prenom'


Regardez pas les $, je fais du perl en fait...
 
Bref, la rêquête en elle même est pas compliquée.
Je veux avoir en sortie un chiffre de 8, genre 20050001, 2005 la promo, un 0, et 001 le numéro d ordre, etc...
 
Seul problème, dans la table, un 1 n'est pas 001, mais 1, un 10 n'est pas 010, mais 10, etç... je me retrouve donc avec un chiffre de longueur 7 au lieu de 8 quand le numero ordre est inférieur à 100, et j'ai absolument besoin de mon formatage précis...
 
Merci d'avance pour toute l'aide que vous pourrez me fournir =)
 
++

Reply

Marsh Posté le 26-07-2004 à 11:35:32   

Reply

Marsh Posté le 26-07-2004 à 11:37:51    

on doit deviner le SGDB tout seul?

Reply

Marsh Posté le 26-07-2004 à 11:45:59    

Oracle 9i pardon =)

Reply

Marsh Posté le 26-07-2004 à 11:47:01    

Si c'est de l'Oracle regarder du côté de la fonction TO_CHAR, sinon précise le SGBD ça devrait pas mal aider quand même :)

Reply

Marsh Posté le 26-07-2004 à 11:48:23    

lpad plutôt

Reply

Marsh Posté le 26-07-2004 à 12:28:32    

gizmo a écrit :

lpad plutôt


+1, je suis plus très au point en Oracle :)
Ca ferait donc:

Code :
  1. select promo || '0' || lpad(numero_ordre, 3, '0') from elv where nom='$nom' and prenom='$prenom'

Reply

Marsh Posté le 26-07-2004 à 13:34:29    

Ca marche très bien... je ne connaissais pas lpad, merci :)

Reply

Sujets relatifs:

Leave a Replay

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