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 :

Type float sans virgule !!


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut Type float sans virgule !!
    Bonjour,

    j'ai une colonne avec un type integer. Cette colonne représente des durée en seconde, à coté de cette colonne j'ai un type float dans lequel je voudrais les temps en minutes, seulement il ne me mets pas de chiffre à virgule !!

    Pourquoi ??

    Merci

  2. #2
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    j'imagine que ton message d'erreur est

    la valeur tapé n'est pas cohérante avec le type de données ou la longeur de la colonne
    les colonnes de type float acceptent le point du pavé numérique ou la virgule du clavier mais pas le point du clavier.

    Si ce n'est pas l'erreur que tu as, met nous ton message d'erreur.

  3. #3
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    j'ai pas de message d'erreur, il me met la partie entiere de mon resultat !!

    au lieu d'avoir 2,56.. j'ai 2

    meme quand je met un type decimal, j'ai pas de chiffre à virgule

    je le calcul dans une prod stockée, j'ai ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE Table SET champfloat = champinteger / 60

  4. #4
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    Effectivement !!! en fait cela ne dépend pas de la table puisque cette requette
    me retourne toujours 4 !!!!
    en fouillant dans la documentation SQL Server sur la division j'ai trouvé ceci
    Citation Envoyé par help SQL Server
    Types de résultats de la division
    Renvoie le type de données de l'argument possédant la priorité la plus élevée. Pour plus d'informations sur l'ordre de priorité des types de données, voir Ordre de priorité des types de données.

    Si un dividend entier est divisé par un divisor entier, le résultat est un entier dont la partie décimale sera tronquée.
    Alors pour résoudre ce problème, j'ai compris que le dividend doit être de type float d'ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select (convert(FLOAT,254) / 60)
    me renvoit bien 4.2333333333333

    donc je te propose pour ta mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Table SET champfloat = (convert(FLOAT,champinteger) / 60)
    je ne sais pas si c'est la solution optimum

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Ou encore,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE T_Table 
    SET champfloat = champinteger / 60.00

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    ok merci les deux methodes fonctionnent

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

Discussions similaires

  1. Input de type File sans le champ ?
    Par DemonKN dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 11/02/2010, 13h59
  2. type float nombre à virgule simple precision
    Par new_wave dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2009, 14h06
  3. Float sans virgule
    Par Rodrick dans le forum Langage
    Réponses: 1
    Dernier message: 01/04/2007, 13h12
  4. Pb de formatage de champs de type float
    Par FrankyNormand dans le forum XMLRAD
    Réponses: 9
    Dernier message: 05/05/2005, 12h37
  5. [MS-SQL][ADO] précision du type FLOAT
    Par Le Lézard dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/09/2004, 15h30

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