FORUM DES UTILISATEURS / USER'S NEWSGROUP


Heures au format UTC + 1 heure




Publier un nouveau sujet Répondre au sujet  [ 4 messages ] 
Auteur Message
MessagePublié: 08 Oct 2013 15:28 
Hors-ligne
Abonné

Inscrit le: 05 Nov 2004 14:43
Messages: 80
Bonjour,
je n'arrive pas à  faire une division en sql :
SELECT COUNT(*)..... - SELECT COUNT(*)... jusque là  ça fonctionne (par exemple 34-2=32) mais quand je le divise par le premier SELECT COUNT(*) (par exemple 32/34), le résultat égale à  0.
Est-ce que qqu'un peut me dire ce qu'il faut faire pour arriver à  avoir un chiffre avec 2 chiffres après la virgule ?
Cordialement. Laurence


Haut
 Profil  
 
MessagePublié: 08 Oct 2013 15:39 
Bonjour,

Est ce que vous utilisez le sql dans un script ?

Cordialement,


Haut
  
 
MessagePublié: 08 Oct 2013 16:29 
Hors-ligne
Abonné

Inscrit le: 05 Nov 2004 14:43
Messages: 80
Il s'agit d'une édition utilisateur dans le module fournisseurs. Je fais le taux de respect des délais par fournisseur dans une période donnée par catégorie et par type de fournisseur.
J'arrive à  avoir
- le nbre de cdes dont le délai est OK (<=7 jours de retard)
- le nbre de cdes dont le délai est NOK
- les OK - NOK : ça marche
- les (OK-NOK) / OK : ça ne marche pas


Haut
 Profil  
 
MessagePublié: 12 Nov 2013 9:02 
Hors-ligne
Administrateur

Inscrit le: 31 Jan 2007 6:13
Messages: 608
Bonjour,

En langage SQL et pour une opération de division, le type résultat est du même type que l'opérande.
C'est à  dire que si l'opérande est un entier, le résultat de l'opération sera un entier.
Même si cette logique mériterait d'être revue, dans votre cas, 32 étant un entier le résultat de la division sera un entier.
32/34 donne 0.94, si on en prend la partie entière, il nous reste 0.

Si vous souhaitez que votre calcul fonctionne vous devez faire comme suit :
Code:
SELECT CAST(32 AS FLOAT)/34 FROM #DUMMY;

ou pour reprendre votre exemple
Code:
SELECT CAST(COUNT(*) AS FLOAT)..... - SELECT COUNT(*)


Cordialement,

_________________
Jean-Philippe - Service Développement Solune


Haut
 Profil  
 
Afficher les messages publiés depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 4 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Aller vers:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduction réalisée par Maël Soucaze © 2010 phpBB.fr