- "CASE" pour l'affichage systématique du signe
- "CHAR" pour les zeros non significatifs et le séparateur des décimales
- "DECIMAL" pour spécifier le nombre de chiffres dont le nombre de décimales
select CASE WHEN a.BASCT > 0 THEN '+' ELSE '-' END|| CHAR(DECIMAL(a.BASCT,15,2),',') from HR.ZYVL a, HR.ZY00 b, HR.ZYES c
where a.nudoss=b.nudoss and a.nudoss=c.nudoss
and a.dteffe between c.datent and c.datsor and a.datfin not between c.datent and c.datsor
and b.matcle='A123456'
------------------
+0000000123400,00
Si on veut obtenir le point au lieu de la virgule comme séparateur décimal: "+0000000123400.00" est-ce qu'il est suffit de faire: CASE WHEN a.BASCT > 0 THEN '+' ELSE '-' END|| CHAR(DECIMAL(a.BASCT,15,2),'.') ?
RépondreSupprimer