powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / что за баг?
13 сообщений из 38, страница 2 из 2
что за баг?
    #39602662
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot что за баг?]Добрый Э - Эхсогласен, найду такой баг в оракле - поставлю жирный минус ораклу.
Странно, что всех это устраивает...
А как в оракле сейчас? А какой должен быть правильный алгоритм, чтобы всех устраивало?
...
Рейтинг: 0 / 0
что за баг?
    #39602664
что за баг?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot bideveloper]что за баг?пропущено...

А как в оракле сейчас? А какой должен быть правильный алгоритм, чтобы всех устраивало?

Этот кейс в оракле правильно отработал.

В этом кейсе надо было 5-й знак хотя бы округлить, а не усекать. Уже было бы точнее.
...
Рейтинг: 0 / 0
что за баг?
    #39602671
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевиччто за баг?пропущено...


помедитируйте теперь вы, у вас есть есть ERP-система и субд от одного разработчика, которая, криво работает. От того, что микрософт задокументировала свой алгоритм ее же erp ровнее работать не будет.Тогда раз у вас претензия к некоторой ERP-системе от MS, может быть вы обратитесь в ее службу поддержки?Эта ERP-система вообще то сама общается с SQL Server, имеет свой собственный язык и не подразумевает чтобы кто-то лез напрямую в базу. Я думаю именно это в поддержке и скажут.
...
Рейтинг: 0 / 0
что за баг?
    #39603045
Попробуйте сначала умножить на 100, а потом уже разделить на @price, т.е.

Код: sql
1.
2.
3.
4.
DECLARE @price NUMERIC(32,16) = 12599
DECLARE @discount NUMERIC(32,16) = 7
SELECT ((@price - ROUND(@price * (1- @discount/100),0)) * 100 / @price ) 
GO
...
Рейтинг: 0 / 0
что за баг?
    #39603055
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин К.,

21194846
...
Рейтинг: 0 / 0
что за баг?
    #39603064
TaPaK,

Упс, не заметил
...
Рейтинг: 0 / 0
что за баг?
    #39603216
что за баг?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валентин К.Попробуйте сначала умножить на 100, а потом уже разделить на @price, т.е.
[/src]

Проблема не в том, как решить этот кейс, а в том, что в данном вопросе аксапта генерит сама sql-код и еще только с одним числовым типом. и такая лажа может выстрелить в любой момент. как у нас.
...
Рейтинг: 0 / 0
что за баг?
    #39603224
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за баг?Валентин К.Попробуйте сначала умножить на 100, а потом уже разделить на @price, т.е.
[/src]

Проблема не в том, как решить этот кейс, а в том, что в данном вопросе аксапта генерит сама sql-код и еще только с одним числовым типом. и такая лажа может выстрелить в любой момент. как у нас.
давйте спрашивать при чём же здесь SQL Server? И абсолютно не факт что васм здесь скажут про правильную реализацию в Microsoft Dynamics AX, спрашивайте у поддержки/профильных форумах, 90% того что вы не умеете его готовить, но уже смело кричите что Д`артанья не здесь
...
Рейтинг: 0 / 0
что за баг?
    #39603250
dgyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если здесь трактовать constant, как любое отдельно взятое значение...

https://technet.microsoft.com/en-us/library/ms191530(v=sql.105).aspx

Converting decimal and numeric Data
For the decimal and numeric data types, SQL Server considers each specific combination of precision and scale as a different data type. For example, decimal(5,5) and decimal(5,0) are considered different data types.

In Transact-SQL statements, a constant with a decimal point is automatically converted into a numeric data value, using the minimum precision and scale necessary. For example, the constant 12.345 is converted into a numeric value with a precision of 5 and a scale of 3.
...
Рейтинг: 0 / 0
что за баг?
    #39603332
что за баг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot TaPaK]что за баг?пропущено...
давйте спрашивать при чём же здесь SQL Server? И абсолютно не факт что васм здесь скажут про правильную реализацию в Microsoft Dynamics AX, спрашивайте у поддержки/профильных форумах, 90% того что вы не умеете его готовить, но уже смело кричите что Д`артанья не здесь
Кого спрашивать? Здесь? на этом форуме? И для чего?

Я что хотел выяснил - могу повторить свое мнение: в этом кейсе криво работает сиквел и криво с сиквелом работает аксапта, но это только мое мнение.

Если вы считаете, что за этот кейс можно плюс серверу поставить (за такую потерю точности на ровном месте) - я же не против. Считайте, радуйтесь. Могло быть и хуже. Так можно и в идолы сиквел вознести, типа он во всех случаях всегда прав, он не может быть не правым, он просто такой, а кто не согласен - не используйте, как мне намекнули.

А вам спасибо, что помогли разобраться.
...
Рейтинг: 0 / 0
что за баг?
    #39604840
formfactor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL 2012
Видимо так работает тип NUMERIC - ему нужно явно указывать дробные числа.

Такое поведение раньше встречал и в других средах и языках программирования, не только в MS SQL.

SQL


Можно ещё вспомнить про ++i + ++i :)
...
Рейтинг: 0 / 0
что за баг?
    #39604844
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
formfactor,

а я разници не увидел
...
Рейтинг: 0 / 0
что за баг?
    #39604856
formfactor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

Действительно, я затупил/запутался
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / что за баг?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]