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

MS SQL Server Discussion :

[SQL Server 2000] pb ouput decimal value arrondie


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Par défaut [SQL Server 2000] pb ouput decimal value arrondie
    Bonjour,

    Problème rencontré
    Je cherche à résoudre le problème suivant.
    J'ai crée un procédure stockée qui retourne une valeur décimal(9,3) @stat en output.

    le calcul suivant est effectué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DECLARE
    @param1 decimal(9,3) = 76.000,
    @param2 decimal(9,3) = 1338.000,
     
    set @stat = @param1 / @param2
    La valeur retournée en output est arrondie ou tronquée..:
    Output Parameter(s): @stat = 0
    la valeur obtenue est 0 au lieu de 0.57

    le plus étrange est d'executer cette commande juste après le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     set @stat = @param1 / @param2
    la valeur affichée est .057

    Cette valeur est passée en ouput car elle est récupérée de cette manière en c#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stat = (decimal)db.GetParameterValue(dbCommand, "@Stat");
    question :

    Y 'a t'il un moyen de forcer sql server à retourner la valeur exacte en ouput?
    Pour information j'ai essayé avec d'autres type de données (float,double etc..)

    merci d'avance pour vos réponses.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Par défaut
    Bjr,

    Quand tu exécutes ta PS directement, le résultat est arrondi ?
    Car voici ce que j'ai fait, et si j'appelle la SP, ca marche parfaitement (sous sqlserveur 2000):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    --APPEL DE LA SP
    declare @resu decimal(9,3)
    exec sp_decimal @resu output
    select @resu
    
    --RESU :
    2.842
    
    
    --CODE DE LA SP
    CREATE PROCEDURE sp_DECIMAL @resu decimal(9,3) output  AS
    BEGIN
    
    declare @val1 decimal(9,3)
    declare @val2 decimal(9,3)
    
    set @VAL1 = 12344.55
    set @VAL2 = 4343.090
    
    set @resu= @val1/@val2
    
    END
    GO

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Par défaut
    Merci Zers pour ta réponse.

    La solution à ce problème est vraiment plus qu'étrange.

    j'ai changé l'ordre des paramètres de sortie


    Merci encore !

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

Discussions similaires

  1. Problème d'installation de sql server 2000
    Par michelci dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/12/2003, 08h02
  2. Certification 70-228 sql server 2000
    Par Cotentin dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/11/2003, 09h01
  3. Débutant : SQL Server 2000
    Par bd0606 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/10/2003, 11h33
  4. Migration de MS SQL 7 vers MS SQL server 2000
    Par jfphan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/10/2003, 11h24
  5. problème de float sur SQL server 2000.
    Par fidji dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 24/07/2003, 14h15

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