Longueur fixe en sortie d'une requête

Longueur fixe en sortie d'une requête - SQL/NoSQL - Programmation

Marsh Posté le 07-06-2005 à 16:12:45    

bonjour,
comment afficher une sortie présentant une longueur de caractères toujours identique ?
 
exemple :
EAN
123456
123
 
select EAN from table
=> résultat habituel est :
EAN
123456
123
 
Resultat cherché :
EAN
123456
000123

Reply

Marsh Posté le 07-06-2005 à 16:12:45   

Reply

Marsh Posté le 07-06-2005 à 16:19:18    

Quel SGBD ?

Reply

Marsh Posté le 07-06-2005 à 16:20:08    

Le plus simple (et qui marche normalement avec tous les SGBD) :
 

Code :
  1. select right('000000000' + lechamp, 10) champformaté
  2. from latable

Reply

Marsh Posté le 07-06-2005 à 16:23:33    

Sinon, t'as des fonctions dédiées telles que LPAD() sous Oracle, mais qui n'existe pas sous SQL Server par exemple, donc le mieu c'est d'utiliser la solution bourrin ci-dessus.

Reply

Marsh Posté le 07-06-2005 à 16:28:27    

right('-'+'00'+champ,4)
ok si la valeur n'est pas signée et que je force pour y mettre un - devant ca donne :
7 -001
 
right('-'+'00'+champ,4)
Par contre si la valeur est signée j'obtiens ce résultat au lieu de -001 :
8 +001
8 00-1
 
Comment sur une valeur (+ ou -) obtenir le signe de cette valeur devant et que la position reste sur 4 ?


Message édité par systemanager le 08-06-2005 à 16:30:29
Reply

Sujets relatifs:

Leave a Replay

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