Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

4 réponses
Avatar
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

4 réponses

Avatar
Alain
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" a écrit dans le message de
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




Avatar
Fred
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)
Avatar
Davelop
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 !
Avatar
Fred BROUARD
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 *************************