|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 11 ![]() |
Bonjour,
je travail avec une DB formatée un peu étrangement, mais je n'ai pas le choix. j'explique : dans ma base un nombre decimal est exprimé de la façon suivante monchiffre--------madecimal 12345---------------2 1234----------------0 il faut comprendre 123.45 pour la première ligne et 1234 pour la 2ème afin de formater à l'origine le chiffre je fais le select suivant select monchiffre / 10**madecimal from matable et ca fonctionne bien sauf pour les records avec 0 decimal ou il m'affiche 1234.0 au lieu de 1234 ma question est comment avoir le bon formatage directement ? merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
Bonjour,
Utilisez un "CASE" |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 11 ![]() |
avec mon exemple oui cela fonctionne, mais dans ma base j'ai aussi ça
monchiffre--------madecimal 10000---------------2 et je récupère 100.0 au lieu de 100 j'ai donc essayé d'utiliser le case, mais comme la valeur de ma colonne calculée est du décimale il sql m'ajoute tjs un .0 à la fin de mes chiffres entiers. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Ben c'est normal puisque c'est du DECIMAL !
Dans les magasins, tu vois bien des prix affichés 2,00 € non ? Bon ok, c'est plus souvent 1,99 € !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : février 2006 Messages : 11 ![]() |
Code :
une idée ? |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 11 ![]() |
oui je sais mais j'ai essayé de cast en varchar pour avoir du texte avec ou sans point, mais j'obtiens des choses comme 1.44545E1
se qui ne m'arrange pas non plus |
|
|
00
|
|
|
#7 | ||
![]() ![]() |
Je ferais plutôt cette requête :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#8 | ||
![]() ![]() |
Si ça vous embête c'est que ça doit être de l'affichage (puisqu'en terme de calcul 123 ou 123.0 c'est identique), donc n'hésitez pas à convertir vos nombres en chaînes de caractères sur lesquelles il n'y a plus qu'à faire de la mise en page.
Par exemple sous SQL-Server 2005 : Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : février 2006 Messages : 11 ![]() |
oui c'est pour cela que j'essai de caster en varchar.
monchiffre contient la valeur multipliée par qque chose. madecimal contient la decimale que je dois appliquer a ce chiffre donc Code :
mais les décimales sont 1.4111E3 par exemple |
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 638 ![]() |
et ça n'existe pas le type numeric ou consort dans votre sgbd ?
|
|
|
01
|
|
|
#11 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 443 ![]() |
NUMERIC et DECIMAL sont des types équivalents
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com