IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

SQL format de nombre


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut SQL format de nombre
    Bonjour à tous !

    Une petite question... Voila, j'ai une table avec une clé primaire (Id), une année et un taux (0.46 par ex).
    D'un autre coté, j'ai une requête qui dedans, en cas de null sur un champs doit me mettre la valeur du taux en fonction de l'année. Jusque la rien de compliqué
    Voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT T1.Champ1, T1.Champ2, IIF(ISNULL(T1.Champ3), (SELECT Taux FROM TTaux where year(Now) = Annee), T1.Champ3) as Taux
    FROM MATable T1
    Le problème, c'est qu'en cas de null, il m'affiche une valeur avec un nombre de décimales très important, alors qu'elles n'existent pas dans la table TTaux (champ Taux en numérique, réel simple)

    Du coup, me suis dit, tant pis, je fais un round sur le IIF... oui mais ca marche pas !
    Donc me suis encore dit (je m'en dit des trucs, hein ?), pas grave, je fais un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT T1.Champ1, T1.Champ2, T1Champ3 AS Taux1, (SELECT Taux FROM TTaux where year(Now) = Annee) as Taux2, Round(IIF(ISNULL(Taux1), Taux2, Taux1), 4) as Taux
    FROM MATable T1
    Mais ca marche toujours po...

    extrait ma table TTaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IdTaux	Annee	Taux
    1	2008	0,3455
    2	2009	0,3448
    Affichage de TTaux.Taux de la requete pour 2009 :
    0,344799995422363

    PS1 : j'ai saisi moi-même le taux dans la table...
    PS2 : j'ai tester la sous-requête à part, pas de soucis, j'ai bien 0,3448 qui s'affiche !

    Any idea ?

    Thanks !

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Tu peux utiliser la fonction Round ou bien stocker les données dans des champs monétaire. Les réels sont moins adaptés lorsqu'on a pas besoin de beaucoup de décimal.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Mais j'utilise la fonction Round...
    mais ça marche pas

    J'ai essayé de changer le format du champ dans la table en monétaire, le brider à 4 décimales, ca change rien...
    Ce que je ne trouve pas normal, c'est qu'il me modifie le nombre !
    J'ai l'impression que ca vient du IIf, parce qu'en dehors, j'ai bien le bon taux, mais je vois pas comment contourner

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Bon en remplaçant mon IIf par un switch, ca marche...

    Je comprends pas pourquoi le IIf merdouille, mais bon, je peux avancer...

    Merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Nombre]formater le nombre de décimal après une virgule.
    Par PascalCmoa dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/03/2007, 10h40
  2. Format des nombres entiers, séparateurs de milliers
    Par zazaraignée dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2005, 01h25
  3. formater un nombre en format "monétaire"
    Par jm6570 dans le forum Access
    Réponses: 2
    Dernier message: 14/09/2005, 10h06
  4. Formater un nombre avec Crystal Reports
    Par Soph70 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 05/07/2005, 19h27
  5. Format de nombre
    Par shawinnigan dans le forum Oracle
    Réponses: 12
    Dernier message: 23/08/2004, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo