SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

SQL Server e ROUND function (sembra si tratti di un BUG)

Andando in debug su di una stored procedure abbiamo trovato un simpatico errore di Arithmetic Overflow apparentemente ingiustificato..
Provate questo script sul vostro Management Studio e, se sarete fortunati, il tutto andrà per il meglio. In caso contrario otterrete l'errore che da un'ora ci fa incavolare 

PRINT ROUND(0.1, 0)

PRINT ROUND(0.6, 0)

PRINT ROUND(1.0, 0)

------------------------------------------------------
0.0
Msg 8115, Level 16, State 2, Line 2
Arithmetic overflow error converting expression to data type numeric.
1.0

La piattaforma è la seguente:
Microsoft SQL Server 2008 (SP2) - 10.0.4000.0 (X64)   Sep 16 2010 19:43:16   Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) 

Eseguendo lo stesso script su questa piattaforma..
Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)   Jul  9 2008 14:17:44   Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 5.2 <X64> (Build 3790: Service Pack 2) 

funziona tutto correttamente..
mmmmh.. e perchè mai? sui BOL non trovo niente.. A qualcuno di voi è capitato? Per ora sto contattando Microsoft, ma credo proprio si tratti di un bug.

Stay tuned! 



Categoria: Transact-SQL
lunedì, 14 mar 2011 Ore. 16.45
Statistiche
  • Views Home Page: 599.571
  • Views Posts: 1.065.350
  • Views Gallerie: 637.597
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003