Hi,I have two servers, one running Microsoft SQL Server 2014 (SP1-CU5) and another running SQL Server 2008 R2 Service Pack 3 (SP3).I have a linked server setup to Oracle 11g. Both servers are running the OraOLEDB.Oracle Provider with the same options and driver version (11.02.00.01).I setup a test database in ORACLE:CREATE TABLE [MySchema].NUMBER_TEST( UNDEFINED NUMBER)...I threw some test values in there:select * from [MySchema].NUMBER_TESTorder by 1-98.786-98.785-98.78498.78498.78598.786Here's where things get weird on me:SSMS 2014:Select UNDEFINED, CAST(UNDEFINED AS numeric(20,2))from openquery([MyLinkedServer], 'select * from [MySchema].NUMBER_TEST') NumbersUNDEFINED (No column name)-98.786 -98.79[highlight="#ffff11"]-98.785 -98.78[/highlight] <-- Rounded Up-98.784 -98.7898.784 98.78[highlight="#ffff11"]98.785 98.78[/highlight] <-- Rounded Down98.786 98.79SSMS 2008 R2:(same query)UNDEFINED (No column name)-98.786 -98.79[highlight="#ffff11"]-98.785 -98.79[/highlight] <-- Rounded Down-98.784 -98.7898.784 98.78[highlight="#ffff11"]98.785 98.79[/highlight] <-- Rounded Up98.786 98.79Does anyone have any idea why the rounding is occurring differently?
↧