bonjour,
voila sur une base de donnée j'ai des données caractères qui contiennent en réalité des montants de type : "12345.67"
Pour les besoins de l'applicatif qui les exploite à travers des vues, les valeurs sont reformatées du type : "0000001234567"
par la syntaxe suivante :
select right('0000000000000' + replace(mavaleur,'.',''),13)
cependant j'ai un soucis avec certains montant négatifs... qui par cette méthode deviennent "00000-1234567" alors qu'il me faudrait "-000001234567"
j'ai donc écrit la chose suivante :
select replace(replace(valeur,'.',''),'-','-' + right('0000000000000',13 - len(replace(valeur,'.','')) - CHARINDEX ('-',valeur)))
ce qui fait un formatage correcte , mais du coup, que sur les valeurs contenant le signe '-' .
Qui pourrait m'aider à trouver une instruction qui me permette de tout traiter..
Merci
j'ai oublié un élément qui corse un peu la chose.
je ne peux faire aucun cast sur cette valeur car elle fait partie d'une vue qui doit permettre des modifications. Or une vue contenant un cast n'authorise plus la redescente de modification sur la table de laquelle elle est issue.
Et j'ai oublié de précisé que je suis sur SQL Serveur.
Merci
Partager