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 :

Division d'un nombre


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Mars 2021
    Messages : 18
    Points : 27
    Points
    27
    Par défaut Division d'un nombre
    Bonjour,
    j'ai un champs qui contient des nombres et je veux les diviser sur un chiffre mais je veux un resultat avec le details apres la virgule.
    exemple:
    si je devise 30/60 je veux avoir 0.5
    j'ai utilisé convert(decimal(10,2),le chiffre) mais il me donne que la partie qui est avant la virgule , dans cet exemple il me donne 0

    si vous pouvez m'aider
    merci beaucoup

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 251
    Points : 12 903
    Points
    12 903
    Par défaut
    Bonjour,
    Il faut "convertir" les valeurs en décimal/float avant de faire la division.
    Sinon SqlServer fait une division entière, et il est alors "trop tard" pour récupérer les décimales.

    Tatayo.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ajout d'un séparateur décimal pour provoquer un transtypage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select 30 / 60
    -----------
    0
     
    select 30. / 60
    ---------------------------------------
    0.500000

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 897
    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 : 21 897
    Points : 53 135
    Points
    53 135
    Billets dans le blog
    6
    Par défaut
    Si ce sont des colonnes ou des expressions de comptage faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT CAST(1.0 * MonDividende / MonDiviseur AS DECIMAL(16, 2))
    par exemple

    A +

  5. #5
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2016
    Messages : 792
    Points : 1 511
    Points
    1 511
    Par défaut
    Bonjour,

    Effectivement SQL "cherche" à appliquer le type en fonction de la valeur fournie;
    Ainsi 30 et 20 seront automatiquement traduit en INT
    Mais pas 30. ni 1.0*30

    La seconde question est celle de l'arrondi.
    Est-ce l'arrondi est là "pour faire beau" ou entre t'il dans une stratégie de calcul ?

    En fonction de la réponse on peut utiliser

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

Discussions similaires

  1. nasm division d'un nombre en facteur de nombre premier
    Par Stanouf dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 10/01/2012, 17h54
  2. la division de 2 nombres
    Par tleboukaka dans le forum Rave
    Réponses: 6
    Dernier message: 24/03/2010, 14h16
  3. Division par un nombre
    Par Christinita dans le forum MATLAB
    Réponses: 12
    Dernier message: 03/12/2008, 09h53
  4. [OpenOffice][Tableur] Division d'un nombre par des heures
    Par DranDane dans le forum OpenOffice & LibreOffice
    Réponses: 11
    Dernier message: 12/02/2008, 17h43
  5. Algorithme de division de grands nombres.
    Par Jack_serious dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/11/2005, 15h09

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