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
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 *************************
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 *************************
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 *************************