|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : février 2004 Messages : 61 ![]() |
SELECT ROUND(0.66, 0)
Arithmetic overflow exception SELECT 1.0 * ROUND(0.66, 0) = 1; Est-ce normal cela??? SqlServer 2005
__________________
Cosotech Informatique Pascal Wick Programmeur-Analyste Sr. |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 5 354 ![]() |
C'est vrai que c'est amusant.
Car si on fait Ca marche, de même que : Code :
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
||
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 937 ![]() |
Normal ! Lorsque vous ne précisez pas le type de données comme c'est le cas de 0.66, SQL Server le transtype dans le type le plus juste et dans votre cas, c'est un NUMERIC(2,2).
le code que vous donnez revient donc à faire : Code :
SELECT ROUND(CAST(0.66 AS NUMERIC(2,2)), 0) Code :
SELECT ROUND(CAST(0.66 AS NUMERIC(3,2)), 0) Donc, mettre le bon type de données !!! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com