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

SQL Firebird Discussion :

division en sql


Sujet :

SQL Firebird

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 839
    Points : 262
    Points
    262
    Par défaut division en sql
    bonjour,

    est ce que l'on pourrait m'expliquer pourquoi les 2 requetes suivantes ne donnent pas le même résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select L_ACHAT.LAPRIX * L_ACHAT.LAQTE * (90/100) as MONTANT FROM L_ACHAT
    order by MONTANT desc
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select L_ACHAT.LAPRIX * L_ACHAT.LAQTE * 0.9 as MONTANT FROM L_ACHAT
    order by MONTANT desc
    merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Très probablement parce que dans (90/100) , les 2 nombres sont des entiers, et le résultat de cette division est un entier.
    Essaye (90.0/100.0)PS : d'autres solution sont envisageable, notamment "caster" les valeurs
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 839
    Points : 262
    Points
    262
    Par défaut réponse
    bonjour,

    ma requete finel sera sous cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select cast(sum((L_ACHAT.LAPRIX * L_ACHAT.LAQTE) * (1 - (L_ACHAT.LATAUXREM/100))) as decimal(15,4)) as MONTANT  FROM L_ACHAT
    sachant que le champ LATAUXREM est un decimal(15,4) , est ce que cela fonctionnera comme cela, ou bien il faut que je mette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...L_ACHAT.LATAUXREM/100.00))) as decimal(15,4)) ....
    merci

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

Discussions similaires

  1. ACCESS SQL : division entière ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/10/2014, 09h12
  2. Division en sql
    Par alexorcet dans le forum SQL
    Réponses: 6
    Dernier message: 11/06/2008, 08h34
  3. Division et SQL
    Par ra_inah dans le forum Oracle
    Réponses: 9
    Dernier message: 10/08/2006, 16h20
  4. [SQL Server] probléme de division
    Par MichMich29 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/06/2006, 15h38
  5. Division en SQL !!
    Par BGS dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/01/2005, 10h23

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