Bonjour,
Pourquoi le résultat toujour 1 normalement 1.5 ? j'ai ajouter 'from Etudiant' pour obtenir le résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part select 3/2 from Etudiant
Bonjour,
Pourquoi le résultat toujour 1 normalement 1.5 ? j'ai ajouter 'from Etudiant' pour obtenir le résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part select 3/2 from Etudiant
Bonjour,
C'est l'une des règles de calcul en SQL : le type du résultat dépend du type des opérandes.
Ici, comme les deux opérandes sont des entiers, le résultat sera un entier.
Essaye avec 3.0 / 2 ou 3 / 2.0...
Si les deux opérandes sont des colonnes (ou expressions) de type entier, il est possible de convertir l'un des deux en décimal simplement.
select (a * 1.0) / b retournera une valeur avec une décimale même si a et b sont des entiers.
La fonction CAST permet aussi le transtypage mais attention à l'appliquer aux opérandes et pas au résultat de l'opération.
CAST(3 as decimal(2,1)) / 2 retourne 1.5 mais CAST(3 / 2 as decimal(2,1)) retourne 1.0
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.
Merci beaucoup al1_24
ça marche avec 3.0/2
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager