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

Développement SQL Server Discussion :

Afficher le résultat d'une division avec des virgules [2017]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut Afficher le résultat d'une division avec des virgules
    Bonjour
    Depuis hier je me heurte à un soucis qui me semblait simple à résoudre mais pas du tout
    Malgré mes recherche sur google , je ne trouve pas la solution. Voilà mon problème:
    J'ai une requete sql avec plusieurs champ dont celui d'une division ( cf ci dessous)

    Il faut savoir que le champ " T.champ1 est un entier et que la variable NbrTour int est également un entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    declare @NbrTour int
    T.champ1/@NbrTour
    Lorsque la valeur du champ " T.champ1" est 5 et que la variable NbrTour est 2, je devrais avoir comment resulat aprés la division : 2.5. Mais j'obtiens 3.
    je n'arrive pas à comprendre pourquoi.
    J'ai bien essayé de faire un cast mais j'ai toujours ce resultat 3..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST( ( T.champ1/@NbrTour) as decimal(10,2))

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Bonjour,

    Le type du résultat d'une expression numérique est fonction de ses opérandes.
    Ce n'est donc pas le résultat qu'il faut convertir en nombre décimal mais au moins l'une des deux valeurs qui rentrent dans le calcul.
    (CAST( T.champ1 as decimal(10,2)) / @NbrTour)
    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
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut
    Bonjour Al
    Malheureusement cela ne marche pas . J'ai toujours 3 comme résultat alors que je devrai avoir 2.5

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Même en castant les deux valeurs ?

    Est-ce que ce ne serait pas une question d'affichage ?
    Quel est le résultat de (CAST( T.champ1 as decimal(10,2)) / @NbrTour) * 10 ?
    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.

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2007
    Messages
    1 247
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 247
    Par défaut
    oups Al..cà fonctionne.
    j'ai fais une mauvaise manip
    Merci pour ton aide et ton explication
    Al encore une question , comment faire pour avoir que 2 chiffres aprés la virgule ?

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAST( ... AS DECIMAL(18,2))
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/07/2011, 10h57
  2. Afficher les résultats d'une requête comme des colonnes
    Par bouts dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/08/2010, 17h39
  3. Réponses: 5
    Dernier message: 14/01/2010, 17h44
  4. Réponses: 6
    Dernier message: 24/06/2007, 01h13
  5. Afficher le résultat d'une requête avec des côtes
    Par sweet_hell dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/10/2006, 10h32

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