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 :

Résultat de requête incorrecte?


Sujet :

SQL Firebird

  1. #1
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    octobre 2005
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : octobre 2005
    Messages : 113
    Points : 34
    Points
    34
    Par défaut Résultat de requête incorrecte?
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select 3/2 from Etudiant
    Pourquoi le résultat toujour 1 normalement 1.5 ? j'ai ajouter 'from Etudiant' pour obtenir le résultat

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    8 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 815
    Points : 29 344
    Points
    29 344
    Par défaut
    Bonjour,

    C'est l'une des règles de calcul en SQL : le type du résultat dépend du type des opérandes.
    Ici, comme les deux opérandes sont des entiers, le résultat sera un entier.

    Essaye avec 3.0 / 2 ou 3 / 2.0...

    Si les deux opérandes sont des colonnes (ou expressions) de type entier, il est possible de convertir l'un des deux en décimal simplement.
    select (a * 1.0) / b retournera une valeur avec une décimale même si a et b sont des entiers.

    La fonction CAST permet aussi le transtypage mais attention à l'appliquer aux opérandes et pas au résultat de l'opération.
    CAST(3 as decimal(2,1)) / 2 retourne 1.5 mais CAST(3 / 2 as decimal(2,1)) retourne 1.0
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours 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
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    S.H
    S.H est déconnecté
    Nouveau membre du Club
    Inscrit en
    octobre 2005
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : octobre 2005
    Messages : 113
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup al1_24
    ça marche avec 3.0/2

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

Discussions similaires

  1. Résultat de requête incorrecte
    Par Yohan24 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 24/07/2017, 11h26
  2. [MySQL] Résultat de requête incorrect !
    Par King_T dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/04/2008, 19h31
  3. table comme résultat de requête
    Par nafnaf625 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2005, 11h51
  4. Comparaison de résultats de requêtes
    Par Nyx de Tours dans le forum Requêtes
    Réponses: 7
    Dernier message: 31/07/2004, 15h49
  5. Trier aléatoirement un résultat de requête
    Par ang36 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/01/2004, 17h38

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