MS SQL round(99.9,0) глюк или ?
От: tarasich  
Дата: 27.10.06 21:01
Оценка:
Добрый день, уважаемый All
вот натолкнулся на забавную ситуацию

select round(99.9,0)


приводит к ошибке
An error occurred while executing batch. Error message is: Arithmetic Overflow.

в тоже время

declare @i int
select @i=round (99.75,-1)
select @i

работает согласно описанию

Это бага или я что-то не понимаю?

Версия
Microsoft SQL Server 2005 — 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)
Re: MS SQL round(99.9,0) глюк или ?
От: DarkSid Россия  
Дата: 28.10.06 13:02
Оценка:
Здравствуйте, tarasich, Вы писали:

T>Добрый день, уважаемый All

T>вот натолкнулся на забавную ситуацию

T>
T>select round(99.9,0)
T>


T>приводит к ошибке

T>An error occurred while executing batch. Error message is: Arithmetic Overflow.

T>в тоже время


T>
T>declare @i int
T>select @i=round (99.75,-1)
T>select @i
T>

T>работает согласно описанию

T>Это бага или я что-то не понимаю?


T>Версия

T>Microsoft SQL Server 2005 — 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

Более того:
select round(9.499999999999999999999999999999999999,0) — работает
select round(9.5,0) — ошибка
select round(10.00000000000000000000000000000000001,0) — работает

select round(99.499999999999999999999999999999999999,0) — работает
select round(99.5,0) — ошибка
select round(100.00000000000000000000000000000000001,0) — опять работает

select round(999.49999999999999999999999999999999999,0) — работает
select round(999.5,0) — ошибка
select round(1000.0000000000000000000000000000000001,0) — работает
И так далее
Re: MS SQL round(99.9,0) глюк или ?
От: Pro100Oleh Украина  
Дата: 29.10.06 14:38
Оценка:
Здравствуйте, tarasich, Вы писали:

T>Добрый день, уважаемый All

T>вот натолкнулся на забавную ситуацию

T>
T>select round(99.9,0)
T>


T>приводит к ошибке

T>An error occurred while executing batch. Error message is: Arithmetic Overflow.

М-да, забавно. У меня точно так же.
Microsoft SQL Server 2005 — 9.00.2047.00 (Intel X86) Apr 14 2006 01:12:25 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
Pro
Re: MS SQL round(99.9,0) глюк или ?
От: webinc  
Дата: 29.10.06 23:53
Оценка:
Здравствуйте, tarasich, Вы писали:

На 2К все типтоп
Microsoft SQL Server 2000 — 8.00.760 (Intel X86)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: MS SQL round(99.9,0) глюк или ?
От: _d_m_  
Дата: 30.10.06 02:15
Оценка:
Здравствуйте, tarasich, Вы писали:

T>Добрый день, уважаемый All

T>вот натолкнулся на забавную ситуацию

T>
T>select round(99.9,0)
T>


T>приводит к ошибке

T>An error occurred while executing batch. Error message is: Arithmetic Overflow.

T>Это бага или я что-то не понимаю?


T>Версия

T>Microsoft SQL Server 2005 — 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

Дело не в сервере:

У меня из Managment Studio дает ошибку как на 2005, так и на 2000. Из QA же выполняется без ошибки и там и там.
Re[2]: MS SQL round(99.9,0) глюк или ?
От: _d_m_  
Дата: 30.10.06 02:26
Оценка:
Здравствуйте, _d_m_, Вы писали:

___>Дело не в сервере:


___>У меня из Managment Studio дает ошибку как на 2005, так и на 2000. Из QA же выполняется без ошибки и там и там.


Кстати, и текст ошибки у меня на русском: "Переполнение при арифметической операции" — похоже получена от FW 2.0 с русским языковым пакетом.
Re: MS SQL round(99.9,0) глюк или ?
От: Jericho113 Украина  
Дата: 30.10.06 10:12
Оценка:
Здравствуйте, tarasich, Вы писали:

T>Добрый день, уважаемый All

T>вот натолкнулся на забавную ситуацию

T>
T>select round(99.9,0)
T>


T>приводит к ошибке

T>An error occurred while executing batch. Error message is: Arithmetic Overflow.

А так все пучком..

select round(cast(99.6 as smallmoney),0)


что то имхо в фреймворке глючит. Т.к. из менеджмент студио приведенное выше
выдает ошибку и на 2К и на 2005 а из QA на 2К все ок.
NetDigitally yours ....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.