Select 3/2 --> affiche 1 au lieu de 1,5

Le
Davelop
Bonjour,

Une question toute bête :
Pourquoi une simple requete "Select 3/2" donne 1 au lieu de 1,5 ?
Comment bien garder les chiffres après la virgule ?

Sous Access on a bien la virgule mais pas sous SQL Server.

Merci d'avance pour vos réponses
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain
Le #11866961
Bonjour,

essaies avec ça :

declare @x decimal
declare @y decimal
declare @t decimal(5,2)
set @x = 3
set @y = 2
set @t = @x/@y
select @t

@ suivre

"Davelop" groupe de discussion :
Bonjour,

Une question toute bête :
Pourquoi une simple requete "Select 3/2" donne 1 au lieu de 1,5 ?
Comment bien garder les chiffres après la virgule ?

Sous Access on a bien la virgule mais pas sous SQL Server.

Merci d'avance pour vos réponses




Fred
Le #11866941
Dans : news:,
Davelop disait :
Bonjour,



Bonjour,

Une question toute bête :
Pourquoi une simple requete "Select 3/2" donne 1 au lieu de 1,5 ?



Parce que SQL considère que ce sont des entiers sans doute, et il fait
une division entière.

Comment bien garder les chiffres après la virgule ?



SELECT 3.0/2.0

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Davelop
Le #11866931
Merci à vous 2 !

Ceci m'a permis de comprendre qu'il fallait que je donne le type de mes
champs servant au calcul.

1000 merci encore !
Fred BROUARD
Le #11866861
Davelop a écrit :
Bonjour,

Une question toute bête :
Pourquoi une simple requete "Select 3/2" donne 1 au lieu de 1,5 ?
Comment bien garder les chiffres après la virgule ?

Sous Access on a bien la virgule mais pas sous SQL Server.

Merci d'avance pour vos réponses




parce que 3 divisé par 2 donne 1 reste 1

vous demandez une division en nombre entiers vous aurez un résultat en
nombre entier. SQL ne change heureusement pas le type de données en
entrée magiquement !

Si vous voulez des réels :

Select CAST(3 AS FLOAT) / CAST(2 AS FLOAT)
ou
Select 3.0 / 2.0

A

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Publicité
Poster une réponse
Anonyme